Fix smartctl segfault at error exit.

This commit is contained in:
Arne Fitzenreiter
2010-01-05 18:10:51 +01:00
parent 5ba06eb81c
commit c49fbaccf3
2 changed files with 17 additions and 0 deletions

View File

@@ -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)

View File

@@ -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