From 8252476fc8c8bdcacbea41f886f085746df9016a Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 8 Jun 2021 11:49:03 +0200 Subject: tests/mock_*.c: Mark unused function arguments as such. This resolves: mock_pam.c: In function 'fake_conv': mock_pam.c:24:20: error: unused parameter 'num_msg' [-Werror=unused-parameter] 24 | int fake_conv (int num_msg, const struct pam_message **msg, | ~~~~^~~~~~~ mock_pam.c:25:39: error: unused parameter 'appdata_ptr' [-Werror=unused-parameter] 25 | struct pam_response **resp, void *appdata_ptr) | ~~~~~~^~~~~~~~~~~ cc1: all warnings being treated as errors --- tests/mock_guest.c | 24 +++++++++++++++--------- tests/mock_pam.c | 6 ++++-- 2 files changed, 19 insertions(+), 11 deletions(-) (limited to 'tests') diff --git a/tests/mock_guest.c b/tests/mock_guest.c index 316e851..6353ee1 100644 --- a/tests/mock_guest.c +++ b/tests/mock_guest.c @@ -24,42 +24,48 @@ static struct passwd guest = { "guest", "/tmp", "/bin/true" }; struct passwd * -getpwnam (const char *username) +getpwnam (const char __attribute__((unused)) *username) { return &guest; } int -setgroups(size_t size, const gid_t *list) +setgroups(size_t __attribute__((unused)) size, + const __attribute__((unused)) gid_t *list) { errno = EPERM; return -1; } int -setgid(gid_t gid) +setgid(gid_t __attribute__((unused)) gid) { return 0; } int -setuid(uid_t uid) +setuid(uid_t __attribute__((unused)) uid) { return 0; } int -setegid(gid_t gid) +setegid(gid_t __attribute__((unused)) gid) { return 0; } int -seteuid(uid_t uid) +seteuid(uid_t __attribute__((unused)) uid) { return 0; } -int chmod(const char *path, mode_t mode) +int chmod(const char __attribute__((unused)) *path, + mode_t __attribute__((unused)) mode) { return 0; } -int chown(const char *path, uid_t owner, gid_t group) +int chown(const char __attribute__((unused)) *path, + uid_t __attribute__((unused)) owner, + gid_t __attribute__((unused)) group) { return 0; } -int execvp(const char *file, char *const argv[]) +int execvp(const char __attribute__((unused)) *file, + char __attribute__((unused)) *const argv[]) { return 0; } + /* wrap _exit, to make sure the gcov_exit function installed with atexit() is really called to collect coverage statistics */ void _exit (int exitcode) diff --git a/tests/mock_pam.c b/tests/mock_pam.c index 9111092..10f2d80 100644 --- a/tests/mock_pam.c +++ b/tests/mock_pam.c @@ -21,8 +21,10 @@ struct pam_handle { /* note: the other fields have been omitted */ }; -int fake_conv (int num_msg, const struct pam_message **msg, - struct pam_response **resp, void *appdata_ptr) +int fake_conv (int __attribute__((unused)) num_msg, + const struct pam_message **msg, + struct pam_response **resp, + void __attribute__((unused)) *appdata_ptr) { struct pam_response *response = NULL; response = malloc (sizeof (struct pam_response)); -- cgit v1.2.3 From f8e02042cf5392278c41e4714fc051175da8f7fd Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 8 Jun 2021 11:57:04 +0200 Subject: tests/mock_guest.c: Use same integer type (long unsigned int) for comparing string length returned by snprintf() and a sizeof() return value. This resolves: mock_guest.c: In function 'socket_sucker': mock_guest.c:95:16: error: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Werror=sign-compare] 95 | if (printsize > sizeof(serv_addr.sun_path) - 1 || printsize < 0) { | ^ --- tests/mock_guest.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/mock_guest.c b/tests/mock_guest.c index 6353ee1..6bdfc6f 100644 --- a/tests/mock_guest.c +++ b/tests/mock_guest.c @@ -92,7 +92,7 @@ socket_sucker () serv_addr.sun_family = AF_UNIX; - int printsize = snprintf(serv_addr.sun_path, sizeof(serv_addr.sun_path) - 1, "%s/%s", home, ".x2go-socket"); + long unsigned int printsize = (long unsigned int)snprintf(serv_addr.sun_path, sizeof(serv_addr.sun_path) - 1, "%s/%s", home, ".x2go-socket"); if (printsize > sizeof(serv_addr.sun_path) - 1 || printsize < 0) { return -1; } -- cgit v1.2.3 From c859cfb399dc00dee24e02dd3acd40d40954c290 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 8 Jun 2021 15:06:30 +0200 Subject: tests/mock_pam.c: Don't leak memory pointed to by 'response'. --- tests/mock_pam.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'tests') diff --git a/tests/mock_pam.c b/tests/mock_pam.c index 10f2d80..88dc8d6 100644 --- a/tests/mock_pam.c +++ b/tests/mock_pam.c @@ -45,7 +45,10 @@ int fake_conv (int __attribute__((unused)) num_msg, else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_COMMAND) == 0) response->resp = strdup ("rcommand"); else + { + free(response); return PAM_SYMBOL_ERR; /* leaks... */ + } *resp = response; -- cgit v1.2.3 From a5f1e6f66a82a3630919353a396e77845586121b Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 8 Jun 2021 15:34:27 +0200 Subject: tests/mock_pam.c: Use curly braces for all if-clauses. --- tests/mock_pam.c | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) (limited to 'tests') diff --git a/tests/mock_pam.c b/tests/mock_pam.c index 88dc8d6..21fdde3 100644 --- a/tests/mock_pam.c +++ b/tests/mock_pam.c @@ -29,23 +29,23 @@ int fake_conv (int __attribute__((unused)) num_msg, struct pam_response *response = NULL; response = malloc (sizeof (struct pam_response)); - if (response == NULL) + if (response == NULL) { return PAM_BUF_ERR; + } response->resp_retcode = 0; - if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_GUESTLOGIN) == 0) + if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_GUESTLOGIN) == 0) { response->resp = strdup ("guest"); /* IMPORTANT: this needs to be in /etc/passwd */ - else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_USER) == 0) + } else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_USER) == 0) { response->resp = strdup ("ruser"); - else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_HOST) == 0) + } else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_HOST) == 0) { response->resp = strdup ("protocol://rhost/dummy"); - else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_PASSWORD) == 0) + } else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_PASSWORD) == 0) { response->resp = strdup ("password"); - else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_COMMAND) == 0) + } else if (strcmp((*msg)->msg, PAM_X2GO_PROMPT_COMMAND) == 0) { response->resp = strdup ("rcommand"); - else - { + } else { free(response); return PAM_SYMBOL_ERR; /* leaks... */ } @@ -71,23 +71,26 @@ pam_handle_t *pam_handle_new (void) int PAM_NONNULL((1)) pam_get_item (const pam_handle_t *pamh, int type, const void **value) { - if (pamh == NULL) + if (pamh == NULL) { return PAM_SYSTEM_ERR; + } - if (type == PAM_CONV) + if (type == PAM_CONV) { *value = pamh->conv; - else if (pamh->item[type] != NULL) + } else if (pamh->item[type] != NULL) { *value = pamh->item[type]; - else + } else { *value = NULL; /* will result in a prompt conversation */ + } return PAM_SUCCESS; } int PAM_NONNULL((1)) pam_set_item (pam_handle_t *pamh, int type, const void *value) { - if (pamh == NULL) + if (pamh == NULL) { return PAM_SYSTEM_ERR; + } void **slot, *tmp; size_t nsize, osize; @@ -95,10 +98,12 @@ int PAM_NONNULL((1)) pam_set_item (pam_handle_t *pamh, int type, const void *val slot = &pamh->item[type]; osize = nsize = 0; - if (*slot != NULL) + if (*slot != NULL) { osize = strlen((const char *)*slot) + 1; - if (value != NULL) + } + if (value != NULL) { nsize = strlen((const char *)value) + 1; + } if (*slot != NULL) { memset(*slot, 0xd0, osize); -- cgit v1.2.3