diff options
author | 2020-03-30 09:24:26 +0900 | |
---|---|---|
committer | 2020-03-30 09:24:26 +0900 | |
commit | 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch) | |
tree | b4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch | |
parent | 706ad73eb02caf8532deaf5d38995bd258725cb8 (diff) |
agl-basesystem
Diffstat (limited to 'external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch')
-rw-r--r-- | external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch b/external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch new file mode 100644 index 00000000..1ea8da9c --- /dev/null +++ b/external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch @@ -0,0 +1,54 @@ +From 65e4539c6eca215d8d79ef8acc5c8842b886752a Mon Sep 17 00:00:00 2001 +From: Chen Qi <Qi.Chen@windriver.com> +Date: Mon, 3 Sep 2018 13:15:29 +0800 +Subject: [PATCH] fix segment fault + +When using strdup(dirname(cfgfile)) directly, we will have segment +fault. This happens at least for glibc 2.28. So we do it step by +step, and this would avoid the segment fault. + +Upstream-Status: Pending + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + include/shared.h | 1 + + xdata/xodtemplate.c | 4 +++- + 2 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/include/shared.h b/include/shared.h +index 1dfa0c7..0188c7d 100644 +--- a/include/shared.h ++++ b/include/shared.h +@@ -31,6 +31,7 @@ + #include <wchar.h> + #include <locale.h> + #include <limits.h> ++#include <libgen.h> + + #include <time.h> + #include "lib/libnagios.h" +diff --git a/xdata/xodtemplate.c b/xdata/xodtemplate.c +index 33d51f4..da32e69 100644 +--- a/xdata/xodtemplate.c ++++ b/xdata/xodtemplate.c +@@ -187,6 +187,7 @@ static void xodtemplate_free_template_skiplists(void) { + int xodtemplate_read_config_data(const char *main_config_file, int options) { + #ifdef NSCORE + char *cfgfile = NULL; ++ char *cfgfile_dir = NULL; + char *config_base_dir = NULL; + char *input = NULL; + char *var = NULL; +@@ -261,7 +262,8 @@ int xodtemplate_read_config_data(const char *main_config_file, int options) { + printf("Unable to allocate memory!\n"); + return ERROR; + } +- config_base_dir = (char *)strdup(dirname(cfgfile)); ++ cfgfile_dir = dirname(cfgfile); ++ config_base_dir = (char *)strdup(cfgfile_dir); + my_free(cfgfile); + + /* open the main config file for reading (we need to find all the config files to read) */ +-- +2.7.4 + |