summaryrefslogtreecommitdiffstats
path: root/external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/meta-virtualization/recipes-extended/nagios/nagios-core/0001-fix-segment-fault.patch
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (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.patch54
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
+