diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/check_apt.c | 17 | ||||
-rw-r--r-- | plugins/check_by_ssh.c | 15 | ||||
-rw-r--r-- | plugins/check_curl.c | 13 | ||||
-rw-r--r-- | plugins/check_dns.c | 6 | ||||
-rw-r--r-- | plugins/check_procs.c | 4 | ||||
-rw-r--r-- | plugins/check_snmp.c | 31 | ||||
-rw-r--r-- | plugins/check_tcp.c | 14 | ||||
-rw-r--r-- | plugins/check_ups.c | 3 | ||||
-rw-r--r-- | plugins/negate.c | 5 | ||||
-rw-r--r-- | plugins/runcmd.c | 3 | ||||
-rw-r--r-- | plugins/utils.c | 10 |
11 files changed, 66 insertions, 55 deletions
diff --git a/plugins/check_apt.c b/plugins/check_apt.c index fa982ae3..290c88ed 100644 --- a/plugins/check_apt.c +++ b/plugins/check_apt.c | |||
@@ -94,7 +94,7 @@ static int stderr_warning = 0; /* if a cmd issued output on stderr */ | |||
94 | static int exec_warning = 0; /* if a cmd exited non-zero */ | 94 | static int exec_warning = 0; /* if a cmd exited non-zero */ |
95 | 95 | ||
96 | int main (int argc, char **argv) { | 96 | int main (int argc, char **argv) { |
97 | int result=STATE_UNKNOWN, packages_available=0, sec_count=0, i=0; | 97 | int result=STATE_UNKNOWN, packages_available=0, sec_count=0; |
98 | char **packages_list=NULL, **secpackages_list=NULL; | 98 | char **packages_list=NULL, **secpackages_list=NULL; |
99 | 99 | ||
100 | /* Parse extra opts if any */ | 100 | /* Parse extra opts if any */ |
@@ -142,10 +142,11 @@ int main (int argc, char **argv) { | |||
142 | qsort(secpackages_list, sec_count, sizeof(char*), cmpstringp); | 142 | qsort(secpackages_list, sec_count, sizeof(char*), cmpstringp); |
143 | qsort(packages_list, packages_available-sec_count, sizeof(char*), cmpstringp); | 143 | qsort(packages_list, packages_available-sec_count, sizeof(char*), cmpstringp); |
144 | 144 | ||
145 | for(i = 0; i < sec_count; i++) | 145 | for(int i = 0; i < sec_count; i++) |
146 | printf("%s (security)\n", secpackages_list[i]); | 146 | printf("%s (security)\n", secpackages_list[i]); |
147 | |||
147 | if (only_critical == false) { | 148 | if (only_critical == false) { |
148 | for(i = 0; i < packages_available - sec_count; i++) | 149 | for(int i = 0; i < packages_available - sec_count; i++) |
149 | printf("%s\n", packages_list[i]); | 150 | printf("%s\n", packages_list[i]); |
150 | } | 151 | } |
151 | } | 152 | } |
@@ -320,7 +321,7 @@ int run_upgrade(int *pkgcount, int *secpkgcount, char ***pkglist, char ***secpkg | |||
320 | * we may need to switch to the --print-uris output format, | 321 | * we may need to switch to the --print-uris output format, |
321 | * in which case the logic here will slightly change. | 322 | * in which case the logic here will slightly change. |
322 | */ | 323 | */ |
323 | for(i = 0; i < chld_out.lines; i++) { | 324 | for(size_t i = 0; i < chld_out.lines; i++) { |
324 | if(verbose){ | 325 | if(verbose){ |
325 | printf("%s\n", chld_out.line[i]); | 326 | printf("%s\n", chld_out.line[i]); |
326 | } | 327 | } |
@@ -353,7 +354,7 @@ int run_upgrade(int *pkgcount, int *secpkgcount, char ***pkglist, char ***secpkg | |||
353 | stderr_warning=1; | 354 | stderr_warning=1; |
354 | result = max_state(result, STATE_WARNING); | 355 | result = max_state(result, STATE_WARNING); |
355 | if(verbose){ | 356 | if(verbose){ |
356 | for(i = 0; i < chld_err.lines; i++) { | 357 | for(size_t i = 0; i < chld_err.lines; i++) { |
357 | fprintf(stderr, "%s\n", chld_err.line[i]); | 358 | fprintf(stderr, "%s\n", chld_err.line[i]); |
358 | } | 359 | } |
359 | } | 360 | } |
@@ -367,7 +368,7 @@ int run_upgrade(int *pkgcount, int *secpkgcount, char ***pkglist, char ***secpkg | |||
367 | 368 | ||
368 | /* run an apt-get update (needs root) */ | 369 | /* run an apt-get update (needs root) */ |
369 | int run_update(void){ | 370 | int run_update(void){ |
370 | int i=0, result=STATE_UNKNOWN; | 371 | int result=STATE_UNKNOWN; |
371 | struct output chld_out, chld_err; | 372 | struct output chld_out, chld_err; |
372 | char *cmdline; | 373 | char *cmdline; |
373 | 374 | ||
@@ -385,7 +386,7 @@ int run_update(void){ | |||
385 | } | 386 | } |
386 | 387 | ||
387 | if(verbose){ | 388 | if(verbose){ |
388 | for(i = 0; i < chld_out.lines; i++) { | 389 | for(size_t i = 0; i < chld_out.lines; i++) { |
389 | printf("%s\n", chld_out.line[i]); | 390 | printf("%s\n", chld_out.line[i]); |
390 | } | 391 | } |
391 | } | 392 | } |
@@ -395,7 +396,7 @@ int run_update(void){ | |||
395 | stderr_warning=1; | 396 | stderr_warning=1; |
396 | result = max_state(result, STATE_WARNING); | 397 | result = max_state(result, STATE_WARNING); |
397 | if(verbose){ | 398 | if(verbose){ |
398 | for(i = 0; i < chld_err.lines; i++) { | 399 | for(size_t i = 0; i < chld_err.lines; i++) { |
399 | fprintf(stderr, "%s\n", chld_err.line[i]); | 400 | fprintf(stderr, "%s\n", chld_err.line[i]); |
400 | } | 401 | } |
401 | } | 402 | } |
diff --git a/plugins/check_by_ssh.c b/plugins/check_by_ssh.c index 1f5f72d4..2a23b397 100644 --- a/plugins/check_by_ssh.c +++ b/plugins/check_by_ssh.c | |||
@@ -68,7 +68,6 @@ main (int argc, char **argv) | |||
68 | char *status_text; | 68 | char *status_text; |
69 | int cresult; | 69 | int cresult; |
70 | int result = STATE_UNKNOWN; | 70 | int result = STATE_UNKNOWN; |
71 | int i; | ||
72 | time_t local_time; | 71 | time_t local_time; |
73 | FILE *fp = NULL; | 72 | FILE *fp = NULL; |
74 | output chld_out, chld_err; | 73 | output chld_out, chld_err; |
@@ -96,7 +95,7 @@ main (int argc, char **argv) | |||
96 | /* run the command */ | 95 | /* run the command */ |
97 | if (verbose) { | 96 | if (verbose) { |
98 | printf ("Command: %s\n", commargv[0]); | 97 | printf ("Command: %s\n", commargv[0]); |
99 | for (i=1; i<commargc; i++) | 98 | for (int i = 1; i < commargc; i++) |
100 | printf ("Argument %i: %s\n", i, commargv[i]); | 99 | printf ("Argument %i: %s\n", i, commargv[i]); |
101 | } | 100 | } |
102 | 101 | ||
@@ -110,9 +109,9 @@ main (int argc, char **argv) | |||
110 | } | 109 | } |
111 | 110 | ||
112 | if (verbose) { | 111 | if (verbose) { |
113 | for(i = 0; i < chld_out.lines; i++) | 112 | for(size_t i = 0; i < chld_out.lines; i++) |
114 | printf("stdout: %s\n", chld_out.line[i]); | 113 | printf("stdout: %s\n", chld_out.line[i]); |
115 | for(i = 0; i < chld_err.lines; i++) | 114 | for(size_t i = 0; i < chld_err.lines; i++) |
116 | printf("stderr: %s\n", chld_err.line[i]); | 115 | printf("stderr: %s\n", chld_err.line[i]); |
117 | } | 116 | } |
118 | 117 | ||
@@ -122,7 +121,7 @@ main (int argc, char **argv) | |||
122 | skip_stderr = chld_err.lines; | 121 | skip_stderr = chld_err.lines; |
123 | 122 | ||
124 | /* UNKNOWN or worse if (non-skipped) output found on stderr */ | 123 | /* UNKNOWN or worse if (non-skipped) output found on stderr */ |
125 | if(chld_err.lines > skip_stderr) { | 124 | if(chld_err.lines > (size_t)skip_stderr) { |
126 | printf (_("Remote command execution failed: %s\n"), | 125 | printf (_("Remote command execution failed: %s\n"), |
127 | chld_err.line[skip_stderr]); | 126 | chld_err.line[skip_stderr]); |
128 | if ( warn_on_stderr ) | 127 | if ( warn_on_stderr ) |
@@ -134,8 +133,8 @@ main (int argc, char **argv) | |||
134 | /* this is simple if we're not supposed to be passive. | 133 | /* this is simple if we're not supposed to be passive. |
135 | * Wrap up quickly and keep the tricks below */ | 134 | * Wrap up quickly and keep the tricks below */ |
136 | if(!passive) { | 135 | if(!passive) { |
137 | if (chld_out.lines > skip_stdout) | 136 | if (chld_out.lines > (size_t)skip_stdout) |
138 | for (i = skip_stdout; i < chld_out.lines; i++) | 137 | for (size_t i = skip_stdout; i < chld_out.lines; i++) |
139 | puts (chld_out.line[i]); | 138 | puts (chld_out.line[i]); |
140 | else | 139 | else |
141 | printf (_("%s - check_by_ssh: Remote command '%s' returned status %d\n"), | 140 | printf (_("%s - check_by_ssh: Remote command '%s' returned status %d\n"), |
@@ -156,7 +155,7 @@ main (int argc, char **argv) | |||
156 | 155 | ||
157 | local_time = time (NULL); | 156 | local_time = time (NULL); |
158 | commands = 0; | 157 | commands = 0; |
159 | for(i = skip_stdout; i < chld_out.lines; i++) { | 158 | for(size_t i = skip_stdout; i < chld_out.lines; i++) { |
160 | status_text = chld_out.line[i++]; | 159 | status_text = chld_out.line[i++]; |
161 | if (i == chld_out.lines || strstr (chld_out.line[i], "STATUS CODE: ") == NULL) | 160 | if (i == chld_out.lines || strstr (chld_out.line[i], "STATUS CODE: ") == NULL) |
162 | die (STATE_UNKNOWN, _("%s: Error parsing output\n"), progname); | 161 | die (STATE_UNKNOWN, _("%s: Error parsing output\n"), progname); |
diff --git a/plugins/check_curl.c b/plugins/check_curl.c index 153e492f..9c0dc349 100644 --- a/plugins/check_curl.c +++ b/plugins/check_curl.c | |||
@@ -1186,16 +1186,16 @@ int | |||
1186 | uri_strcmp (const UriTextRangeA range, const char* s) | 1186 | uri_strcmp (const UriTextRangeA range, const char* s) |
1187 | { | 1187 | { |
1188 | if (!range.first) return -1; | 1188 | if (!range.first) return -1; |
1189 | if (range.afterLast - range.first < strlen (s)) return -1; | 1189 | if ( (size_t)(range.afterLast - range.first) < strlen (s) ) return -1; |
1190 | return strncmp (s, range.first, min( range.afterLast - range.first, strlen (s))); | 1190 | return strncmp (s, range.first, min( (size_t)(range.afterLast - range.first), strlen (s))); |
1191 | } | 1191 | } |
1192 | 1192 | ||
1193 | char* | 1193 | char* |
1194 | uri_string (const UriTextRangeA range, char* buf, size_t buflen) | 1194 | uri_string (const UriTextRangeA range, char* buf, size_t buflen) |
1195 | { | 1195 | { |
1196 | if (!range.first) return "(null)"; | 1196 | if (!range.first) return "(null)"; |
1197 | strncpy (buf, range.first, max (buflen-1, range.afterLast - range.first)); | 1197 | strncpy (buf, range.first, max (buflen-1, (size_t)(range.afterLast - range.first))); |
1198 | buf[max (buflen-1, range.afterLast - range.first)] = '\0'; | 1198 | buf[max (buflen-1, (size_t)(range.afterLast - range.first))] = '\0'; |
1199 | buf[range.afterLast - range.first] = '\0'; | 1199 | buf[range.afterLast - range.first] = '\0'; |
1200 | return buf; | 1200 | return buf; |
1201 | } | 1201 | } |
@@ -2368,8 +2368,7 @@ remove_newlines (char *s) | |||
2368 | char * | 2368 | char * |
2369 | get_header_value (const struct phr_header* headers, const size_t nof_headers, const char* header) | 2369 | get_header_value (const struct phr_header* headers, const size_t nof_headers, const char* header) |
2370 | { | 2370 | { |
2371 | int i; | 2371 | for(size_t i = 0; i < nof_headers; i++ ) { |
2372 | for( i = 0; i < nof_headers; i++ ) { | ||
2373 | if(headers[i].name != NULL && strncasecmp( header, headers[i].name, max( headers[i].name_len, 4 ) ) == 0 ) { | 2372 | if(headers[i].name != NULL && strncasecmp( header, headers[i].name, max( headers[i].name_len, 4 ) ) == 0 ) { |
2374 | return strndup( headers[i].value, headers[i].value_len ); | 2373 | return strndup( headers[i].value, headers[i].value_len ); |
2375 | } | 2374 | } |
@@ -2471,7 +2470,7 @@ check_document_dates (const curlhelp_write_curlbuf *header_buf, char (*msg)[DEFA | |||
2471 | int | 2470 | int |
2472 | get_content_length (const curlhelp_write_curlbuf* header_buf, const curlhelp_write_curlbuf* body_buf) | 2471 | get_content_length (const curlhelp_write_curlbuf* header_buf, const curlhelp_write_curlbuf* body_buf) |
2473 | { | 2472 | { |
2474 | int content_length = 0; | 2473 | size_t content_length = 0; |
2475 | struct phr_header headers[255]; | 2474 | struct phr_header headers[255]; |
2476 | size_t nof_headers = 255; | 2475 | size_t nof_headers = 255; |
2477 | size_t msglen; | 2476 | size_t msglen; |
diff --git a/plugins/check_dns.c b/plugins/check_dns.c index 82dc264a..5e20214c 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c | |||
@@ -122,7 +122,7 @@ main (int argc, char **argv) | |||
122 | } | 122 | } |
123 | 123 | ||
124 | /* scan stdout */ | 124 | /* scan stdout */ |
125 | for(i = 0; i < chld_out.lines; i++) { | 125 | for(size_t i = 0; i < chld_out.lines; i++) { |
126 | if (addresses == NULL) | 126 | if (addresses == NULL) |
127 | addresses = malloc(sizeof(*addresses)*10); | 127 | addresses = malloc(sizeof(*addresses)*10); |
128 | else if (!(n_addresses % 10)) | 128 | else if (!(n_addresses % 10)) |
@@ -197,7 +197,7 @@ main (int argc, char **argv) | |||
197 | } | 197 | } |
198 | 198 | ||
199 | /* scan stderr */ | 199 | /* scan stderr */ |
200 | for(i = 0; i < chld_err.lines; i++) { | 200 | for(size_t i = 0; i < chld_err.lines; i++) { |
201 | if (verbose) | 201 | if (verbose) |
202 | puts(chld_err.line[i]); | 202 | puts(chld_err.line[i]); |
203 | 203 | ||
@@ -241,7 +241,7 @@ main (int argc, char **argv) | |||
241 | unsigned long expect_match = (1 << expected_address_cnt) - 1; | 241 | unsigned long expect_match = (1 << expected_address_cnt) - 1; |
242 | unsigned long addr_match = (1 << n_addresses) - 1; | 242 | unsigned long addr_match = (1 << n_addresses) - 1; |
243 | 243 | ||
244 | for (i=0; i<expected_address_cnt; i++) { | 244 | for (int i=0; i<expected_address_cnt; i++) { |
245 | int j; | 245 | int j; |
246 | /* check if we get a match on 'raw' ip or cidr */ | 246 | /* check if we get a match on 'raw' ip or cidr */ |
247 | for (j=0; j<n_addresses; j++) { | 247 | for (j=0; j<n_addresses; j++) { |
diff --git a/plugins/check_procs.c b/plugins/check_procs.c index 1637e3e3..6e3feaec 100644 --- a/plugins/check_procs.c +++ b/plugins/check_procs.c | |||
@@ -153,7 +153,7 @@ main (int argc, char **argv) | |||
153 | int expected_cols = PS_COLS - 1; | 153 | int expected_cols = PS_COLS - 1; |
154 | int warn = 0; /* number of processes in warn state */ | 154 | int warn = 0; /* number of processes in warn state */ |
155 | int crit = 0; /* number of processes in crit state */ | 155 | int crit = 0; /* number of processes in crit state */ |
156 | int i = 0, j = 0; | 156 | int i = 0; |
157 | int result = STATE_UNKNOWN; | 157 | int result = STATE_UNKNOWN; |
158 | int ret = 0; | 158 | int ret = 0; |
159 | output chld_out, chld_err; | 159 | output chld_out, chld_err; |
@@ -207,7 +207,7 @@ main (int argc, char **argv) | |||
207 | } | 207 | } |
208 | 208 | ||
209 | /* flush first line: j starts at 1 */ | 209 | /* flush first line: j starts at 1 */ |
210 | for (j = 1; j < chld_out.lines; j++) { | 210 | for (size_t j = 1; j < chld_out.lines; j++) { |
211 | input_line = chld_out.line[j]; | 211 | input_line = chld_out.line[j]; |
212 | 212 | ||
213 | if (verbose >= 3) | 213 | if (verbose >= 3) |
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index 405ede3a..01bee231 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c | |||
@@ -131,7 +131,7 @@ size_t nlabels = 0; | |||
131 | size_t labels_size = OID_COUNT_STEP; | 131 | size_t labels_size = OID_COUNT_STEP; |
132 | size_t nunits = 0; | 132 | size_t nunits = 0; |
133 | size_t unitv_size = OID_COUNT_STEP; | 133 | size_t unitv_size = OID_COUNT_STEP; |
134 | int numoids = 0; | 134 | size_t numoids = 0; |
135 | int numauthpriv = 0; | 135 | int numauthpriv = 0; |
136 | int numcontext = 0; | 136 | int numcontext = 0; |
137 | int verbose = 0; | 137 | int verbose = 0; |
@@ -187,7 +187,8 @@ static char *fix_snmp_range(char *th) | |||
187 | int | 187 | int |
188 | main (int argc, char **argv) | 188 | main (int argc, char **argv) |
189 | { | 189 | { |
190 | int i, len, line, total_oids; | 190 | int len, total_oids; |
191 | size_t line; | ||
191 | unsigned int bk_count = 0, dq_count = 0; | 192 | unsigned int bk_count = 0, dq_count = 0; |
192 | int iresult = STATE_UNKNOWN; | 193 | int iresult = STATE_UNKNOWN; |
193 | int result = STATE_UNKNOWN; | 194 | int result = STATE_UNKNOWN; |
@@ -253,7 +254,9 @@ main (int argc, char **argv) | |||
253 | if(calculate_rate) { | 254 | if(calculate_rate) { |
254 | if (!strcmp(label, "SNMP")) | 255 | if (!strcmp(label, "SNMP")) |
255 | label = strdup("SNMP RATE"); | 256 | label = strdup("SNMP RATE"); |
256 | i=0; | 257 | |
258 | size_t i = 0; | ||
259 | |||
257 | previous_state = np_state_read(); | 260 | previous_state = np_state_read(); |
258 | if(previous_state!=NULL) { | 261 | if(previous_state!=NULL) { |
259 | /* Split colon separated values */ | 262 | /* Split colon separated values */ |
@@ -273,7 +276,7 @@ main (int argc, char **argv) | |||
273 | /* Populate the thresholds */ | 276 | /* Populate the thresholds */ |
274 | th_warn=warning_thresholds; | 277 | th_warn=warning_thresholds; |
275 | th_crit=critical_thresholds; | 278 | th_crit=critical_thresholds; |
276 | for (i=0; i<numoids; i++) { | 279 | for (size_t i = 0; i < numoids; i++) { |
277 | char *w = th_warn ? strndup(th_warn, strcspn(th_warn, ",")) : NULL; | 280 | char *w = th_warn ? strndup(th_warn, strcspn(th_warn, ",")) : NULL; |
278 | char *c = th_crit ? strndup(th_crit, strcspn(th_crit, ",")) : NULL; | 281 | char *c = th_crit ? strndup(th_crit, strcspn(th_crit, ",")) : NULL; |
279 | /* translate "2:1" to "@1:2" for backwards compatibility */ | 282 | /* translate "2:1" to "@1:2" for backwards compatibility */ |
@@ -333,11 +336,11 @@ main (int argc, char **argv) | |||
333 | } | 336 | } |
334 | 337 | ||
335 | 338 | ||
336 | for (i = 0; i < numcontext; i++) { | 339 | for (int i = 0; i < numcontext; i++) { |
337 | command_line[index++] = contextargs[i]; | 340 | command_line[index++] = contextargs[i]; |
338 | } | 341 | } |
339 | 342 | ||
340 | for (i = 0; i < numauthpriv; i++) { | 343 | for (int i = 0; i < numauthpriv; i++) { |
341 | command_line[index++] = authpriv[i]; | 344 | command_line[index++] = authpriv[i]; |
342 | } | 345 | } |
343 | 346 | ||
@@ -348,7 +351,7 @@ main (int argc, char **argv) | |||
348 | server_address, | 351 | server_address, |
349 | port); | 352 | port); |
350 | 353 | ||
351 | for (i = 0; i < numoids; i++) { | 354 | for (size_t i = 0; i < numoids; i++) { |
352 | command_line[index++] = oids[i]; | 355 | command_line[index++] = oids[i]; |
353 | xasprintf(&cl_hidden_auth, "%s %s", cl_hidden_auth, oids[i]); | 356 | xasprintf(&cl_hidden_auth, "%s %s", cl_hidden_auth, oids[i]); |
354 | } | 357 | } |
@@ -382,7 +385,7 @@ main (int argc, char **argv) | |||
382 | if (external_error) { | 385 | if (external_error) { |
383 | if (chld_err.lines > 0) { | 386 | if (chld_err.lines > 0) { |
384 | printf (_("External command error: %s\n"), chld_err.line[0]); | 387 | printf (_("External command error: %s\n"), chld_err.line[0]); |
385 | for (i = 1; i < chld_err.lines; i++) { | 388 | for (size_t i = 1; i < chld_err.lines; i++) { |
386 | printf ("%s\n", chld_err.line[i]); | 389 | printf ("%s\n", chld_err.line[i]); |
387 | } | 390 | } |
388 | } else { | 391 | } else { |
@@ -392,12 +395,14 @@ main (int argc, char **argv) | |||
392 | } | 395 | } |
393 | 396 | ||
394 | if (verbose) { | 397 | if (verbose) { |
395 | for (i = 0; i < chld_out.lines; i++) { | 398 | for (size_t i = 0; i < chld_out.lines; i++) { |
396 | printf ("%s\n", chld_out.line[i]); | 399 | printf ("%s\n", chld_out.line[i]); |
397 | } | 400 | } |
398 | } | 401 | } |
399 | 402 | ||
400 | for (line=0, i=0; line < chld_out.lines && i < numoids ; line++, i++) { | 403 | line = 0; |
404 | total_oids = 0; | ||
405 | for (size_t i = 0; line < chld_out.lines && i < numoids ; line++, i++, total_oids++) { | ||
401 | if(calculate_rate) | 406 | if(calculate_rate) |
402 | conv = "%.10g"; | 407 | conv = "%.10g"; |
403 | else | 408 | else |
@@ -634,7 +639,6 @@ main (int argc, char **argv) | |||
634 | strncat(perfstr, " ", sizeof(perfstr)-strlen(perfstr)-1); | 639 | strncat(perfstr, " ", sizeof(perfstr)-strlen(perfstr)-1); |
635 | } | 640 | } |
636 | } | 641 | } |
637 | total_oids=i; | ||
638 | 642 | ||
639 | /* Save state data, as all data collected now */ | 643 | /* Save state data, as all data collected now */ |
640 | if(calculate_rate) { | 644 | if(calculate_rate) { |
@@ -644,7 +648,7 @@ main (int argc, char **argv) | |||
644 | die(STATE_UNKNOWN, _("Cannot malloc")); | 648 | die(STATE_UNKNOWN, _("Cannot malloc")); |
645 | 649 | ||
646 | current_length=0; | 650 | current_length=0; |
647 | for(i=0; i<total_oids; i++) { | 651 | for(int i = 0; i < total_oids; i++) { |
648 | xasprintf(&temp_string,"%.0f",response_value[i]); | 652 | xasprintf(&temp_string,"%.0f",response_value[i]); |
649 | if(temp_string==NULL) | 653 | if(temp_string==NULL) |
650 | die(STATE_UNKNOWN,_("Cannot asprintf()")); | 654 | die(STATE_UNKNOWN,_("Cannot asprintf()")); |
@@ -687,7 +691,8 @@ process_arguments (int argc, char **argv) | |||
687 | { | 691 | { |
688 | char *ptr; | 692 | char *ptr; |
689 | int c = 1; | 693 | int c = 1; |
690 | int j = 0, jj = 0, ii = 0; | 694 | int ii = 0; |
695 | size_t j = 0, jj = 0; | ||
691 | 696 | ||
692 | int option = 0; | 697 | int option = 0; |
693 | static struct option longopts[] = { | 698 | static struct option longopts[] = { |
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 | |||
102 | main (int argc, char **argv) | 102 | main (int argc, char **argv) |
103 | { | 103 | { |
104 | int result = STATE_UNKNOWN; | 104 | int result = STATE_UNKNOWN; |
105 | int i; | ||
106 | char *status = NULL; | 105 | char *status = NULL; |
107 | struct timeval tv; | 106 | struct timeval tv; |
108 | struct timeval timeout; | 107 | struct timeval timeout; |
@@ -124,7 +123,7 @@ main (int argc, char **argv) | |||
124 | len = strlen(progname); | 123 | len = strlen(progname); |
125 | if(len > 6 && !memcmp(progname, "check_", 6)) { | 124 | if(len > 6 && !memcmp(progname, "check_", 6)) { |
126 | SERVICE = strdup(progname + 6); | 125 | SERVICE = strdup(progname + 6); |
127 | for(i = 0; i < len - 6; i++) | 126 | for(size_t i = 0; i < len - 6; i++) |
128 | SERVICE[i] = toupper(SERVICE[i]); | 127 | SERVICE[i] = toupper(SERVICE[i]); |
129 | } | 128 | } |
130 | 129 | ||
@@ -275,7 +274,7 @@ main (int argc, char **argv) | |||
275 | printf("Quit string: %s\n", server_quit); | 274 | printf("Quit string: %s\n", server_quit); |
276 | } | 275 | } |
277 | printf("server_expect_count: %d\n", (int)server_expect_count); | 276 | printf("server_expect_count: %d\n", (int)server_expect_count); |
278 | for(i = 0; i < server_expect_count; i++) | 277 | for(size_t i = 0; i < server_expect_count; i++) |
279 | printf("\t%d: %s\n", i, server_expect[i]); | 278 | printf("\t%d: %s\n", i, server_expect[i]); |
280 | } | 279 | } |
281 | 280 | ||
@@ -284,10 +283,11 @@ main (int argc, char **argv) | |||
284 | if (server_expect_count) { | 283 | if (server_expect_count) { |
285 | 284 | ||
286 | /* watch for the expect string */ | 285 | /* watch for the expect string */ |
287 | while ((i = my_recv(buffer, sizeof(buffer))) > 0) { | 286 | size_t received = 0; |
288 | status = realloc(status, len + i + 1); | 287 | while ((received = my_recv(buffer, sizeof(buffer))) > 0) { |
289 | memcpy(&status[len], buffer, i); | 288 | status = realloc(status, len + received + 1); |
290 | len += i; | 289 | memcpy(&status[len], buffer, received); |
290 | len += received; | ||
291 | status[len] = '\0'; | 291 | status[len] = '\0'; |
292 | 292 | ||
293 | /* stop reading if user-forced */ | 293 | /* stop reading if user-forced */ |
diff --git a/plugins/check_ups.c b/plugins/check_ups.c index d1ded620..bb91c4ad 100644 --- a/plugins/check_ups.c +++ b/plugins/check_ups.c | |||
@@ -402,7 +402,8 @@ get_ups_variable (const char *varname, char *buf) | |||
402 | 402 | ||
403 | /* create the command string to send to the UPS daemon */ | 403 | /* create the command string to send to the UPS daemon */ |
404 | /* Add LOGOUT to avoid read failure logs */ | 404 | /* Add LOGOUT to avoid read failure logs */ |
405 | if (snprintf (send_buffer, sizeof(send_buffer), "GET VAR %s %s\nLOGOUT\n", ups_name, varname) >= sizeof(send_buffer)) { | 405 | int res = snprintf (send_buffer, sizeof(send_buffer), "GET VAR %s %s\nLOGOUT\n", ups_name, varname); |
406 | if ( (res > 0) && ((size_t)res >= sizeof(send_buffer))) { | ||
406 | printf("%s\n", _("UPS name to long for buffer")); | 407 | printf("%s\n", _("UPS name to long for buffer")); |
407 | return ERROR; | 408 | return ERROR; |
408 | } | 409 | } |
diff --git a/plugins/negate.c b/plugins/negate.c index 79cca7e0..745c12ac 100644 --- a/plugins/negate.c +++ b/plugins/negate.c | |||
@@ -63,7 +63,6 @@ main (int argc, char **argv) | |||
63 | char *sub; | 63 | char *sub; |
64 | char **command_line; | 64 | char **command_line; |
65 | output chld_out, chld_err; | 65 | output chld_out, chld_err; |
66 | int i; | ||
67 | 66 | ||
68 | setlocale (LC_ALL, ""); | 67 | setlocale (LC_ALL, ""); |
69 | bindtextdomain (PACKAGE, LOCALEDIR); | 68 | bindtextdomain (PACKAGE, LOCALEDIR); |
@@ -86,7 +85,7 @@ main (int argc, char **argv) | |||
86 | result = cmd_run_array (command_line, &chld_out, &chld_err, 0); | 85 | result = cmd_run_array (command_line, &chld_out, &chld_err, 0); |
87 | } | 86 | } |
88 | if (chld_err.lines > 0) { | 87 | if (chld_err.lines > 0) { |
89 | for (i = 0; i < chld_err.lines; i++) { | 88 | for (size_t i = 0; i < chld_err.lines; i++) { |
90 | fprintf (stderr, "%s\n", chld_err.line[i]); | 89 | fprintf (stderr, "%s\n", chld_err.line[i]); |
91 | } | 90 | } |
92 | } | 91 | } |
@@ -95,7 +94,7 @@ main (int argc, char **argv) | |||
95 | if (chld_out.lines == 0) | 94 | if (chld_out.lines == 0) |
96 | die (max_state_alt (result, STATE_UNKNOWN), _("No data returned from command\n")); | 95 | die (max_state_alt (result, STATE_UNKNOWN), _("No data returned from command\n")); |
97 | 96 | ||
98 | for (i = 0; i < chld_out.lines; i++) { | 97 | for (size_t i = 0; i < chld_out.lines; i++) { |
99 | if (subst_text && result >= 0 && result <= 4 && result != state[result]) { | 98 | if (subst_text && result >= 0 && result <= 4 && result != state[result]) { |
100 | /* Loop over each match found */ | 99 | /* Loop over each match found */ |
101 | while ((sub = strstr (chld_out.line[i], state_text (result)))) { | 100 | while ((sub = strstr (chld_out.line[i], state_text (result)))) { |
diff --git a/plugins/runcmd.c b/plugins/runcmd.c index 4f3e349b..32fd6b96 100644 --- a/plugins/runcmd.c +++ b/plugins/runcmd.c | |||
@@ -240,13 +240,12 @@ np_runcmd_close(int fd) | |||
240 | void | 240 | void |
241 | runcmd_timeout_alarm_handler (int signo) | 241 | runcmd_timeout_alarm_handler (int signo) |
242 | { | 242 | { |
243 | size_t i; | ||
244 | 243 | ||
245 | if (signo == SIGALRM) | 244 | if (signo == SIGALRM) |
246 | puts(_("CRITICAL - Plugin timed out while executing system call")); | 245 | puts(_("CRITICAL - Plugin timed out while executing system call")); |
247 | 246 | ||
248 | long maxfd = mp_open_max(); | 247 | long maxfd = mp_open_max(); |
249 | if(np_pids) for(i = 0; i < maxfd; i++) { | 248 | if(np_pids) for(long int i = 0; i < maxfd; i++) { |
250 | if(np_pids[i] != 0) kill(np_pids[i], SIGKILL); | 249 | if(np_pids[i] != 0) kill(np_pids[i], SIGKILL); |
251 | } | 250 | } |
252 | 251 | ||
diff --git a/plugins/utils.c b/plugins/utils.c index 7e14b6e4..e871c5f7 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
@@ -230,13 +230,21 @@ bool is_intnonneg (char *number) { | |||
230 | */ | 230 | */ |
231 | bool is_int64(char *number, int64_t *target) { | 231 | bool is_int64(char *number, int64_t *target) { |
232 | errno = 0; | 232 | errno = 0; |
233 | uint64_t tmp = strtoll(number, NULL, 10); | 233 | char *endptr = { 0 }; |
234 | |||
235 | int64_t tmp = strtoll(number, &endptr, 10); | ||
234 | if (errno != 0) { | 236 | if (errno != 0) { |
235 | return false; | 237 | return false; |
236 | } | 238 | } |
239 | |||
240 | if (*endptr == '\0') { | ||
241 | return 0; | ||
242 | } | ||
243 | |||
237 | if (tmp < INT64_MIN || tmp > INT64_MAX) { | 244 | if (tmp < INT64_MIN || tmp > INT64_MAX) { |
238 | return false; | 245 | return false; |
239 | } | 246 | } |
247 | |||
240 | if (target != NULL) { | 248 | if (target != NULL) { |
241 | *target = tmp; | 249 | *target = tmp; |
242 | } | 250 | } |