From c49fbaccf3da7195043bd7c652ff8a1ac4b9b7c0 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Tue, 5 Jan 2010 18:10:51 +0100 Subject: [PATCH] Fix smartctl segfault at error exit. --- lfs/smartmontools | 1 + .../smartmontools-5.39-exit_segfault.patch | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) create mode 100644 src/patches/smartmontools-5.39-exit_segfault.patch diff --git a/lfs/smartmontools b/lfs/smartmontools index 7d82079ce5..b3dd9d81ae 100644 --- a/lfs/smartmontools +++ b/lfs/smartmontools @@ -70,6 +70,7 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/smartmontools-5.39-exit_segfault.patch cd $(DIR_APP) && ./autogen.sh cd $(DIR_APP) && ./configure --prefix=/usr cd $(DIR_APP) && make BUILD_INFO='"($(NAME) $(VERSION))"' $(MAKETUNING) diff --git a/src/patches/smartmontools-5.39-exit_segfault.patch b/src/patches/smartmontools-5.39-exit_segfault.patch new file mode 100644 index 0000000000..5ed4b10993 --- /dev/null +++ b/src/patches/smartmontools-5.39-exit_segfault.patch @@ -0,0 +1,16 @@ +diff -Naur smartmontools-5.39-svn_r2877/utility.h smartmontools-5.39-svn_r2877.new/utility.h +--- smartmontools-5.39-svn_r2877/utility.h 2009-08-24 12:48:50.000000000 +0200 ++++ smartmontools-5.39-svn_r2877.new/utility.h 2009-08-29 09:11:07.000000000 +0200 +@@ -102,7 +102,11 @@ + + // Replacement for exit(status) + // (exit is not compatible with C++ destructors) +-#define EXIT(status) { throw (int)(status); } ++ ++//This doesn't work on IPFire. ++//#define EXIT(status) { throw (int)(status); } ++//tried to use exit and found no problems yet ++#define EXIT(status) { exit ((int)(status)); } + + + #ifdef OLD_INTERFACE -- 2.39.2