diff options
| author | Anders Kaseorg <andersk@mit.edu> | 2012-06-29 00:57:48 -0400 |
|---|---|---|
| committer | Holger Weiss <holger@zedat.fu-berlin.de> | 2012-06-29 13:39:11 +0200 |
| commit | 028d50d6f99e647a325a0a68303016382c4bbdc9 (patch) | |
| tree | 1d9a14635602169d137409becfa108cd6bdb371c /plugins/check_nt.c | |
| parent | 9976876584e5a1df6e1c9315212c3d274df7a12e (diff) | |
| download | monitoring-plugins-028d50d6f99e647a325a0a68303016382c4bbdc9.tar.gz | |
Die when asprintf fails
Fixes many instances of
warning: ignoring return value of 'asprintf', declared with attribute warn_unused_result [-Wunused-result]
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Diffstat (limited to 'plugins/check_nt.c')
| -rw-r--r-- | plugins/check_nt.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/plugins/check_nt.c b/plugins/check_nt.c index 60806bb3..89c4d8d3 100644 --- a/plugins/check_nt.c +++ b/plugins/check_nt.c | |||
| @@ -135,13 +135,13 @@ int main(int argc, char **argv){ | |||
| 135 | 135 | ||
| 136 | case CHECK_CLIENTVERSION: | 136 | case CHECK_CLIENTVERSION: |
| 137 | 137 | ||
| 138 | asprintf(&send_buffer, "%s&1", req_password); | 138 | xasprintf(&send_buffer, "%s&1", req_password); |
| 139 | fetch_data (server_address, server_port, send_buffer); | 139 | fetch_data (server_address, server_port, send_buffer); |
| 140 | if (value_list != NULL && strcmp(recv_buffer, value_list) != 0) { | 140 | if (value_list != NULL && strcmp(recv_buffer, value_list) != 0) { |
| 141 | asprintf (&output_message, _("Wrong client version - running: %s, required: %s"), recv_buffer, value_list); | 141 | xasprintf (&output_message, _("Wrong client version - running: %s, required: %s"), recv_buffer, value_list); |
| 142 | return_code = STATE_WARNING; | 142 | return_code = STATE_WARNING; |
| 143 | } else { | 143 | } else { |
| 144 | asprintf (&output_message, "%s", recv_buffer); | 144 | xasprintf (&output_message, "%s", recv_buffer); |
| 145 | return_code = STATE_OK; | 145 | return_code = STATE_OK; |
| 146 | } | 146 | } |
| 147 | break; | 147 | break; |
| @@ -167,7 +167,7 @@ int main(int argc, char **argv){ | |||
| 167 | lvalue_list[2+offset]<=(unsigned long)100) { | 167 | lvalue_list[2+offset]<=(unsigned long)100) { |
| 168 | 168 | ||
| 169 | /* Send request and retrieve data */ | 169 | /* Send request and retrieve data */ |
| 170 | asprintf(&send_buffer,"%s&2&%lu",req_password,lvalue_list[0+offset]); | 170 | xasprintf(&send_buffer,"%s&2&%lu",req_password,lvalue_list[0+offset]); |
| 171 | fetch_data (server_address, server_port, send_buffer); | 171 | fetch_data (server_address, server_port, send_buffer); |
| 172 | 172 | ||
| 173 | utilization=strtoul(recv_buffer,NULL,10); | 173 | utilization=strtoul(recv_buffer,NULL,10); |
| @@ -178,11 +178,11 @@ int main(int argc, char **argv){ | |||
| 178 | else if(utilization >= lvalue_list[1+offset] && return_code<STATE_WARNING) | 178 | else if(utilization >= lvalue_list[1+offset] && return_code<STATE_WARNING) |
| 179 | return_code=STATE_WARNING; | 179 | return_code=STATE_WARNING; |
| 180 | 180 | ||
| 181 | asprintf(&output_message,_(" %lu%% (%lu min average)"), utilization, lvalue_list[0+offset]); | 181 | xasprintf(&output_message,_(" %lu%% (%lu min average)"), utilization, lvalue_list[0+offset]); |
| 182 | asprintf(&temp_string,"%s%s",temp_string,output_message); | 182 | xasprintf(&temp_string,"%s%s",temp_string,output_message); |
| 183 | asprintf(&perfdata,_(" '%lu min avg Load'=%lu%%;%lu;%lu;0;100"), lvalue_list[0+offset], utilization, | 183 | xasprintf(&perfdata,_(" '%lu min avg Load'=%lu%%;%lu;%lu;0;100"), lvalue_list[0+offset], utilization, |
| 184 | lvalue_list[1+offset], lvalue_list[2+offset]); | 184 | lvalue_list[1+offset], lvalue_list[2+offset]); |
| 185 | asprintf(&temp_string_perf,"%s%s",temp_string_perf,perfdata); | 185 | xasprintf(&temp_string_perf,"%s%s",temp_string_perf,perfdata); |
| 186 | offset+=3; /* move across the array */ | 186 | offset+=3; /* move across the array */ |
| 187 | } | 187 | } |
| 188 | 188 | ||
| @@ -196,13 +196,13 @@ int main(int argc, char **argv){ | |||
| 196 | 196 | ||
| 197 | case CHECK_UPTIME: | 197 | case CHECK_UPTIME: |
| 198 | 198 | ||
| 199 | asprintf(&send_buffer, "%s&3", req_password); | 199 | xasprintf(&send_buffer, "%s&3", req_password); |
| 200 | fetch_data (server_address, server_port, send_buffer); | 200 | fetch_data (server_address, server_port, send_buffer); |
| 201 | uptime=strtoul(recv_buffer,NULL,10); | 201 | uptime=strtoul(recv_buffer,NULL,10); |
| 202 | updays = uptime / 86400; | 202 | updays = uptime / 86400; |
| 203 | uphours = (uptime % 86400) / 3600; | 203 | uphours = (uptime % 86400) / 3600; |
| 204 | upminutes = ((uptime % 86400) % 3600) / 60; | 204 | upminutes = ((uptime % 86400) % 3600) / 60; |
| 205 | asprintf(&output_message,_("System Uptime - %u day(s) %u hour(s) %u minute(s)"),updays,uphours, upminutes); | 205 | xasprintf(&output_message,_("System Uptime - %u day(s) %u hour(s) %u minute(s)"),updays,uphours, upminutes); |
| 206 | if (check_critical_value==TRUE && uptime <= critical_value) | 206 | if (check_critical_value==TRUE && uptime <= critical_value) |
| 207 | return_code=STATE_CRITICAL; | 207 | return_code=STATE_CRITICAL; |
| 208 | else if (check_warning_value==TRUE && uptime <= warning_value) | 208 | else if (check_warning_value==TRUE && uptime <= warning_value) |
| @@ -218,7 +218,7 @@ int main(int argc, char **argv){ | |||
| 218 | else if (strlen(value_list)!=1) | 218 | else if (strlen(value_list)!=1) |
| 219 | output_message = strdup (_("wrong -l argument")); | 219 | output_message = strdup (_("wrong -l argument")); |
| 220 | else { | 220 | else { |
| 221 | asprintf(&send_buffer,"%s&4&%s", req_password, value_list); | 221 | xasprintf(&send_buffer,"%s&4&%s", req_password, value_list); |
| 222 | fetch_data (server_address, server_port, send_buffer); | 222 | fetch_data (server_address, server_port, send_buffer); |
| 223 | fds=strtok(recv_buffer,"&"); | 223 | fds=strtok(recv_buffer,"&"); |
| 224 | tds=strtok(NULL,"&"); | 224 | tds=strtok(NULL,"&"); |
| @@ -232,10 +232,10 @@ int main(int argc, char **argv){ | |||
| 232 | warning_used_space = ((float)warning_value / 100) * total_disk_space; | 232 | warning_used_space = ((float)warning_value / 100) * total_disk_space; |
| 233 | critical_used_space = ((float)critical_value / 100) * total_disk_space; | 233 | critical_used_space = ((float)critical_value / 100) * total_disk_space; |
| 234 | 234 | ||
| 235 | asprintf(&temp_string,_("%s:\\ - total: %.2f Gb - used: %.2f Gb (%.0f%%) - free %.2f Gb (%.0f%%)"), | 235 | xasprintf(&temp_string,_("%s:\\ - total: %.2f Gb - used: %.2f Gb (%.0f%%) - free %.2f Gb (%.0f%%)"), |
| 236 | value_list, total_disk_space / 1073741824, (total_disk_space - free_disk_space) / 1073741824, | 236 | value_list, total_disk_space / 1073741824, (total_disk_space - free_disk_space) / 1073741824, |
| 237 | percent_used_space, free_disk_space / 1073741824, (free_disk_space / total_disk_space)*100); | 237 | percent_used_space, free_disk_space / 1073741824, (free_disk_space / total_disk_space)*100); |
| 238 | asprintf(&temp_string_perf,_("'%s:\\ Used Space'=%.2fGb;%.2f;%.2f;0.00;%.2f"), value_list, | 238 | xasprintf(&temp_string_perf,_("'%s:\\ Used Space'=%.2fGb;%.2f;%.2f;0.00;%.2f"), value_list, |
| 239 | (total_disk_space - free_disk_space) / 1073741824, warning_used_space / 1073741824, | 239 | (total_disk_space - free_disk_space) / 1073741824, warning_used_space / 1073741824, |
| 240 | critical_used_space / 1073741824, total_disk_space / 1073741824); | 240 | critical_used_space / 1073741824, total_disk_space / 1073741824); |
| 241 | 241 | ||
| @@ -262,7 +262,7 @@ int main(int argc, char **argv){ | |||
| 262 | output_message = strdup (_("No service/process specified")); | 262 | output_message = strdup (_("No service/process specified")); |
| 263 | else { | 263 | else { |
| 264 | preparelist(value_list); /* replace , between services with & to send the request */ | 264 | preparelist(value_list); /* replace , between services with & to send the request */ |
| 265 | asprintf(&send_buffer,"%s&%u&%s&%s", req_password,(vars_to_check==CHECK_SERVICESTATE)?5:6, | 265 | xasprintf(&send_buffer,"%s&%u&%s&%s", req_password,(vars_to_check==CHECK_SERVICESTATE)?5:6, |
| 266 | (show_all==TRUE) ? "ShowAll" : "ShowFail",value_list); | 266 | (show_all==TRUE) ? "ShowAll" : "ShowFail",value_list); |
| 267 | fetch_data (server_address, server_port, send_buffer); | 267 | fetch_data (server_address, server_port, send_buffer); |
| 268 | return_code=atoi(strtok(recv_buffer,"&")); | 268 | return_code=atoi(strtok(recv_buffer,"&")); |
| @@ -273,7 +273,7 @@ int main(int argc, char **argv){ | |||
| 273 | 273 | ||
| 274 | case CHECK_MEMUSE: | 274 | case CHECK_MEMUSE: |
| 275 | 275 | ||
| 276 | asprintf(&send_buffer,"%s&7", req_password); | 276 | xasprintf(&send_buffer,"%s&7", req_password); |
| 277 | fetch_data (server_address, server_port, send_buffer); | 277 | fetch_data (server_address, server_port, send_buffer); |
| 278 | mem_commitLimit=atof(strtok(recv_buffer,"&")); | 278 | mem_commitLimit=atof(strtok(recv_buffer,"&")); |
| 279 | mem_commitByte=atof(strtok(NULL,"&")); | 279 | mem_commitByte=atof(strtok(NULL,"&")); |
| @@ -283,10 +283,10 @@ int main(int argc, char **argv){ | |||
| 283 | 283 | ||
| 284 | /* Divisor should be 1048567, not 3044515, as we are measuring "Commit Charge" here, | 284 | /* Divisor should be 1048567, not 3044515, as we are measuring "Commit Charge" here, |
| 285 | which equals RAM + Pagefiles. */ | 285 | which equals RAM + Pagefiles. */ |
| 286 | asprintf(&output_message,_("Memory usage: total:%.2f Mb - used: %.2f Mb (%.0f%%) - free: %.2f Mb (%.0f%%)"), | 286 | xasprintf(&output_message,_("Memory usage: total:%.2f Mb - used: %.2f Mb (%.0f%%) - free: %.2f Mb (%.0f%%)"), |
| 287 | mem_commitLimit / 1048567, mem_commitByte / 1048567, percent_used_space, | 287 | mem_commitLimit / 1048567, mem_commitByte / 1048567, percent_used_space, |
| 288 | (mem_commitLimit - mem_commitByte) / 1048567, (mem_commitLimit - mem_commitByte) / mem_commitLimit * 100); | 288 | (mem_commitLimit - mem_commitByte) / 1048567, (mem_commitLimit - mem_commitByte) / mem_commitLimit * 100); |
| 289 | asprintf(&perfdata,_("'Memory usage'=%.2fMb;%.2f;%.2f;0.00;%.2f"), mem_commitByte / 1048567, | 289 | xasprintf(&perfdata,_("'Memory usage'=%.2fMb;%.2f;%.2f;0.00;%.2f"), mem_commitByte / 1048567, |
| 290 | warning_used_space / 1048567, critical_used_space / 1048567, mem_commitLimit / 1048567); | 290 | warning_used_space / 1048567, critical_used_space / 1048567, mem_commitLimit / 1048567); |
| 291 | 291 | ||
| 292 | return_code=STATE_OK; | 292 | return_code=STATE_OK; |
| @@ -331,12 +331,12 @@ int main(int argc, char **argv){ | |||
| 331 | strtok (value_list, "&"); /* burn the first parameters */ | 331 | strtok (value_list, "&"); /* burn the first parameters */ |
| 332 | description = strtok (NULL, "&"); | 332 | description = strtok (NULL, "&"); |
| 333 | counter_unit = strtok (NULL, "&"); | 333 | counter_unit = strtok (NULL, "&"); |
| 334 | asprintf (&send_buffer, "%s&8&%s", req_password, value_list); | 334 | xasprintf (&send_buffer, "%s&8&%s", req_password, value_list); |
| 335 | fetch_data (server_address, server_port, send_buffer); | 335 | fetch_data (server_address, server_port, send_buffer); |
| 336 | counter_value = atof (recv_buffer); | 336 | counter_value = atof (recv_buffer); |
| 337 | 337 | ||
| 338 | if (description == NULL) | 338 | if (description == NULL) |
| 339 | asprintf (&output_message, "%.f", counter_value); | 339 | xasprintf (&output_message, "%.f", counter_value); |
| 340 | else if (isPercent) | 340 | else if (isPercent) |
| 341 | { | 341 | { |
| 342 | counter_unit = strdup ("%"); | 342 | counter_unit = strdup ("%"); |
| @@ -371,13 +371,13 @@ int main(int argc, char **argv){ | |||
| 371 | { | 371 | { |
| 372 | /* Let's format the output string, finally... */ | 372 | /* Let's format the output string, finally... */ |
| 373 | if (strstr(description, "%") == NULL) { | 373 | if (strstr(description, "%") == NULL) { |
| 374 | asprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); | 374 | xasprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); |
| 375 | } else { | 375 | } else { |
| 376 | /* has formatting, will segv if wrong */ | 376 | /* has formatting, will segv if wrong */ |
| 377 | asprintf (&output_message, description, counter_value); | 377 | xasprintf (&output_message, description, counter_value); |
| 378 | } | 378 | } |
| 379 | asprintf (&output_message, "%s |", output_message); | 379 | xasprintf (&output_message, "%s |", output_message); |
| 380 | asprintf (&output_message,"%s %s", output_message, | 380 | xasprintf (&output_message,"%s %s", output_message, |
| 381 | fperfdata (description, counter_value, | 381 | fperfdata (description, counter_value, |
| 382 | counter_unit, 1, warning_value, 1, critical_value, | 382 | counter_unit, 1, warning_value, 1, critical_value, |
| 383 | (!(isPercent) && (minval != NULL)), fminval, | 383 | (!(isPercent) && (minval != NULL)), fminval, |
| @@ -410,7 +410,7 @@ int main(int argc, char **argv){ | |||
| 410 | output_message = strdup (_("No counter specified")); | 410 | output_message = strdup (_("No counter specified")); |
| 411 | else { | 411 | else { |
| 412 | preparelist(value_list); /* replace , between services with & to send the request */ | 412 | preparelist(value_list); /* replace , between services with & to send the request */ |
| 413 | asprintf(&send_buffer,"%s&9&%s", req_password,value_list); | 413 | xasprintf(&send_buffer,"%s&9&%s", req_password,value_list); |
| 414 | fetch_data (server_address, server_port, send_buffer); | 414 | fetch_data (server_address, server_port, send_buffer); |
| 415 | age_in_minutes = atoi(strtok(recv_buffer,"&")); | 415 | age_in_minutes = atoi(strtok(recv_buffer,"&")); |
| 416 | description = strtok(NULL,"&"); | 416 | description = strtok(NULL,"&"); |
| @@ -439,13 +439,13 @@ int main(int argc, char **argv){ | |||
| 439 | if (value_list==NULL) | 439 | if (value_list==NULL) |
| 440 | output_message = strdup (_("No counter specified")); | 440 | output_message = strdup (_("No counter specified")); |
| 441 | else { | 441 | else { |
| 442 | asprintf(&send_buffer,"%s&10&%s", req_password,value_list); | 442 | xasprintf(&send_buffer,"%s&10&%s", req_password,value_list); |
| 443 | fetch_data (server_address, server_port, send_buffer); | 443 | fetch_data (server_address, server_port, send_buffer); |
| 444 | if (!strncmp(recv_buffer,"ERROR",5)) { | 444 | if (!strncmp(recv_buffer,"ERROR",5)) { |
| 445 | printf("NSClient - %s\n",recv_buffer); | 445 | printf("NSClient - %s\n",recv_buffer); |
| 446 | exit(STATE_UNKNOWN); | 446 | exit(STATE_UNKNOWN); |
| 447 | } | 447 | } |
| 448 | asprintf(&output_message,"%s",recv_buffer); | 448 | xasprintf(&output_message,"%s",recv_buffer); |
| 449 | return_code=STATE_OK; | 449 | return_code=STATE_OK; |
| 450 | } | 450 | } |
| 451 | break; | 451 | break; |
