Fix smartctl segfault at error exit.
authorArne Fitzenreiter <arne_f@ipfire.org>
Tue, 5 Jan 2010 17:10:51 +0000 (18:10 +0100)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 5 Jan 2010 17:11:54 +0000 (18:11 +0100)
lfs/smartmontools
src/patches/smartmontools-5.39-exit_segfault.patch [new file with mode: 0644]

index 7d82079..b3dd9d8 100644 (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)
diff --git a/src/patches/smartmontools-5.39-exit_segfault.patch b/src/patches/smartmontools-5.39-exit_segfault.patch
new file mode 100644 (file)
index 0000000..5ed4b10
--- /dev/null
@@ -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