diff options
author | Harper Mann <harpermann@users.sourceforge.net> | 2005-01-19 23:39:45 +0000 |
---|---|---|
committer | Harper Mann <harpermann@users.sourceforge.net> | 2005-01-19 23:39:45 +0000 |
commit | 3f0fd90ba88f7ad7c25dad0a97d43c7f1ad7e0c6 (patch) | |
tree | 489f3a3b039199cdf9d6c80fabf16e7880b1e79f | |
parent | 311ee9e7925d62b72d852715330062177b224176 (diff) | |
download | monitoring-plugins-3f0fd90ba88f7ad7c25dad0a97d43c7f1ad7e0c6.tar.gz |
In the CHECK_COUNTER block, there were several strcats writing to unallocated
memory. Changed to asprintf. We're not freeing since plugin run is short.
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1085 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r-- | plugins/check_nt.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/plugins/check_nt.c b/plugins/check_nt.c index cac826f5..1bdddc45 100644 --- a/plugins/check_nt.c +++ b/plugins/check_nt.c | |||
@@ -355,19 +355,18 @@ int main(int argc, char **argv){ | |||
355 | if (allRight) | 355 | if (allRight) |
356 | { | 356 | { |
357 | /* Let's format the output string, finally... */ | 357 | /* Let's format the output string, finally... */ |
358 | |||
359 | if (strstr(description, "%") == NULL) { | 358 | if (strstr(description, "%") == NULL) { |
360 | asprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); | 359 | asprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); |
361 | } else { | 360 | } else { |
362 | /* has formatting, will segv if wrong */ | 361 | /* has formatting, will segv if wrong */ |
363 | asprintf (&output_message, description, counter_value); | 362 | asprintf (&output_message, description, counter_value); |
364 | } | 363 | } |
365 | output_message = strcat (output_message, "|"); | 364 | asprintf (&output_message, "%s |", output_message); |
366 | output_message = strcat (output_message, | 365 | asprintf (&output_message,"%s %s", output_message, |
367 | fperfdata (description, counter_value, counter_unit, | 366 | fperfdata (description, counter_value, |
368 | 1, warning_value, 1, critical_value, | 367 | counter_unit, 1, warning_value, 1, critical_value, |
369 | (!(isPercent) && (minval != NULL)), fminval, | 368 | (!(isPercent) && (minval != NULL)), fminval, |
370 | (!(isPercent) && (minval != NULL)), fmaxval)); | 369 | (!(isPercent) && (minval != NULL)), fmaxval)); |
371 | } | 370 | } |
372 | } | 371 | } |
373 | 372 | ||