From 07f9c438f31de7a280e43c4196a32d200ad41fbe Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:10:55 +0200 Subject: Fixes for -Wsign-compare --- plugins/check_tcp.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'plugins/check_tcp.c') diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index a1a14b45..c103612a 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c @@ -102,7 +102,6 @@ int main (int argc, char **argv) { int result = STATE_UNKNOWN; - int i; char *status = NULL; struct timeval tv; struct timeval timeout; @@ -124,7 +123,7 @@ main (int argc, char **argv) len = strlen(progname); if(len > 6 && !memcmp(progname, "check_", 6)) { SERVICE = strdup(progname + 6); - for(i = 0; i < len - 6; i++) + for(size_t i = 0; i < len - 6; i++) SERVICE[i] = toupper(SERVICE[i]); } @@ -275,7 +274,7 @@ main (int argc, char **argv) printf("Quit string: %s\n", server_quit); } printf("server_expect_count: %d\n", (int)server_expect_count); - for(i = 0; i < server_expect_count; i++) + for(size_t i = 0; i < server_expect_count; i++) printf("\t%d: %s\n", i, server_expect[i]); } @@ -284,10 +283,11 @@ main (int argc, char **argv) if (server_expect_count) { /* watch for the expect string */ - while ((i = my_recv(buffer, sizeof(buffer))) > 0) { - status = realloc(status, len + i + 1); - memcpy(&status[len], buffer, i); - len += i; + size_t received = 0; + while ((received = my_recv(buffer, sizeof(buffer))) > 0) { + status = realloc(status, len + received + 1); + memcpy(&status[len], buffer, received); + len += received; status[len] = '\0'; /* stop reading if user-forced */ -- cgit v1.2.3-74-g34f1 From 81f3b4165146eedd2da60afc5677ec44a0db9829 Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:20:27 +0200 Subject: Fix fallout of the previous changes --- plugins/check_apt.c | 2 +- plugins/check_http.c | 2 +- plugins/check_snmp.c | 4 ++-- plugins/check_tcp.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) (limited to 'plugins/check_tcp.c') diff --git a/plugins/check_apt.c b/plugins/check_apt.c index 290c88ed..5c0f6e28 100644 --- a/plugins/check_apt.c +++ b/plugins/check_apt.c @@ -252,7 +252,7 @@ int process_arguments (int argc, char **argv) { /* run an apt-get upgrade */ int run_upgrade(int *pkgcount, int *secpkgcount, char ***pkglist, char ***secpkglist){ - int i=0, result=STATE_UNKNOWN, regres=0, pc=0, spc=0; + int result=STATE_UNKNOWN, regres=0, pc=0, spc=0; struct output chld_out, chld_err; regex_t ireg, ereg, sreg; char *cmdline=NULL, rerrbuf[64]; diff --git a/plugins/check_http.c b/plugins/check_http.c index b9d8145c..110f1188 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c @@ -471,7 +471,7 @@ bool process_arguments (int argc, char **argv) free(http_method); http_method = strdup (optarg); char *tmp; - if ((tmp = strstr(http_method, ":")) > 0) { + if ((tmp = strstr(http_method, ":")) != NULL) { tmp[0] = '\0'; http_method = http_method; http_method_proxy = ++tmp; diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index 01bee231..7ee9d0ca 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c @@ -263,7 +263,7 @@ main (int argc, char **argv) previous_string = strdup((char *) previous_state->data); while((ap = strsep(&previous_string, ":")) != NULL) { if(verbose>2) - printf("State for %d=%s\n", i, ap); + printf("State for %zd=%s\n", i, ap); while (i >= previous_size) { previous_size += OID_COUNT_STEP; previous_value = realloc(previous_value, previous_size * sizeof(*previous_value)); @@ -415,7 +415,7 @@ main (int argc, char **argv) break; if (verbose > 2) { - printf("Processing oid %i (line %i)\n oidname: %s\n response: %s\n", i+1, line+1, oidname, response); + printf("Processing oid %zi (line %zi)\n oidname: %s\n response: %s\n", i+1, line+1, oidname, response); } /* Clean up type array - Sol10 does not necessarily zero it out */ diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index c103612a..054f1a39 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c @@ -275,7 +275,7 @@ main (int argc, char **argv) } printf("server_expect_count: %d\n", (int)server_expect_count); for(size_t i = 0; i < server_expect_count; i++) - printf("\t%d: %s\n", i, server_expect[i]); + printf("\t%zd: %s\n", i, server_expect[i]); } /* if(len) later on, we know we have a non-NULL response */ -- cgit v1.2.3-74-g34f1 From eead88edda047843b911afd7b63e7decfee306ce Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:46:15 +0200 Subject: check_tcp: Fixes an error with using the wrong type for a variable --- plugins/check_tcp.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'plugins/check_tcp.c') diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c index 054f1a39..01dd35eb 100644 --- a/plugins/check_tcp.c +++ b/plugins/check_tcp.c @@ -70,7 +70,7 @@ static char *server_send = NULL; static char *server_quit = NULL; static char **server_expect; static size_t server_expect_count = 0; -static size_t maxbytes = 0; +static ssize_t maxbytes = 0; static char **warn_codes = NULL; static size_t warn_codes_count = 0; static char **crit_codes = NULL; @@ -105,7 +105,6 @@ main (int argc, char **argv) char *status = NULL; struct timeval tv; struct timeval timeout; - size_t len; int match = -1; fd_set rfds; @@ -120,10 +119,10 @@ main (int argc, char **argv) if(progname != NULL) progname++; else progname = argv[0]; - len = strlen(progname); - if(len > 6 && !memcmp(progname, "check_", 6)) { + size_t prog_name_len = strlen(progname); + if(prog_name_len > 6 && !memcmp(progname, "check_", 6)) { SERVICE = strdup(progname + 6); - for(size_t i = 0; i < len - 6; i++) + for(size_t i = 0; i < prog_name_len - 6; i++) SERVICE[i] = toupper(SERVICE[i]); } @@ -279,11 +278,12 @@ main (int argc, char **argv) } /* if(len) later on, we know we have a non-NULL response */ - len = 0; + ssize_t len = 0; + if (server_expect_count) { + ssize_t received = 0; /* watch for the expect string */ - size_t received = 0; while ((received = my_recv(buffer, sizeof(buffer))) > 0) { status = realloc(status, len + received + 1); memcpy(&status[len], buffer, received); @@ -307,6 +307,7 @@ main (int argc, char **argv) if(select(sd + 1, &rfds, NULL, NULL, &timeout) <= 0) break; } + if (match == NP_MATCH_RETRY) match = NP_MATCH_FAILURE; -- cgit v1.2.3-74-g34f1