aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2009-06-02 01:11:19 +0200
committerGravatar Holger Weiss <holger@zedat.fu-berlin.de> 2009-06-02 01:11:19 +0200
commit9eabd8d054f003960daa150324873474df7aab60 (patch)
treecaaa3068532fb457959fb6812bf53a61d4c1968a
parentbc827c9083cdf7e6b4e6931f2eecfa7192baa48f (diff)
downloadmonitoring-plugins-9eabd8d054f003960daa150324873474df7aab60.tar.gz
Fix the memory allocation for the thresholds data
Allocate the appropriate amount of memory for storing the thresholds data. Before, we allocated the amount of memory required for storing a _pointer_ to the thresholds data. This crashed (at least) check_mysql when using its "-S" option on FreeBSD/amd64 (as reported and analyzed by Nikita Kalabukhov - 2797757). Signed-off-by: Holger Weiss <holger@zedat.fu-berlin.de>
-rw-r--r--THANKS.in1
-rw-r--r--lib/utils_base.c4
2 files changed, 4 insertions, 1 deletions
diff --git a/THANKS.in b/THANKS.in
index 189ba265..aba48c6b 100644
--- a/THANKS.in
+++ b/THANKS.in
@@ -254,3 +254,4 @@ Ben Timby
Martin Foster
Joe Presbrey
Will Preston
+Nikita Kalabukhov
diff --git a/lib/utils_base.c b/lib/utils_base.c
index 77700f5b..4303e159 100644
--- a/lib/utils_base.c
+++ b/lib/utils_base.c
@@ -101,7 +101,9 @@ _set_thresholds(thresholds **my_thresholds, char *warn_string, char *critical_st
{
thresholds *temp_thresholds = NULL;
- temp_thresholds = malloc(sizeof(temp_thresholds));
+ if ((temp_thresholds = malloc(sizeof(thresholds))) == NULL)
+ die(STATE_UNKNOWN, _("Cannot allocate memory: %s\n"),
+ strerror(errno));
temp_thresholds->warning = NULL;
temp_thresholds->critical = NULL;