From 9eabd8d054f003960daa150324873474df7aab60 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Tue, 2 Jun 2009 01:11:19 +0200 Subject: [PATCH] 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 --- THANKS.in | 1 + lib/utils_base.c | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/THANKS.in b/THANKS.in index 189ba26..aba48c6 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 77700f5..4303e15 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; -- 2.30.2