From f0a1717cedafa6294b493b8f9dfa2d866f172335 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Thu, 26 Sep 2002 20:32:37 +0000 Subject: [PATCH] Fix a bug reported by Gene Sally about double free. --- .../library/Makefile | 23 +++++++++++++----- .../library/exec_unix.c | 2 +- .../os/solaris/sparc/libpty.so | Bin 0 -> 9681 bytes .../os/solaris/sparc/libspawner.so | Bin 14846 -> 14854 bytes 4 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so diff --git a/core/org.eclipse.cdt.core.solaris/library/Makefile b/core/org.eclipse.cdt.core.solaris/library/Makefile index 8127e0888e1..034a966cfb7 100644 --- a/core/org.eclipse.cdt.core.solaris/library/Makefile +++ b/core/org.eclipse.cdt.core.solaris/library/Makefile @@ -5,14 +5,25 @@ JDK_INCLUDES=/usr/java/include JDK_OS_INCLUDES=/usr/java/include/solaris CC=gcc -LIB_NAME = libspawner.so -LIB_NAME_FULL = ../os/solaris/sparc/libspawner.so -OBJS=spawner.o io.o exec_unix.o pfind.o CPPFLAGS = -I. -I$(JDK_INCLUDES) -I$(JDK_OS_INCLUDES) CFLAGS +=-fpic -D_REENTRANT -spawner : $(OBJS) - $(CC) -g -shared -Wl,-soname,$(LIB_NAME) -o $(LIB_NAME_FULL) $(OBJS) -lc +LIB_NAME_SPAWNER = libspawner.so +LIB_NAME_FULL_SPAWNER = ../os/solaris/sparc/libspawner.so +OBJS_SPAWNER=spawner.o io.o exec_unix.o pfind.o + +LIB_NAME_PTY = libpty.so +LIB_NAME_FULL_PTY = ../os/solaris/sparc/libpty.so +OBJS_PTY=openpty.o pty.o ptyio.o + +all: $(LIB_NAME_FULL_SPAWNER) $(LIB_NAME_FULL_PTY) + +$(LIB_NAME_FULL_SPAWNER): $(OBJS_SPAWNER) + $(CC) -g -shared -Wl,-soname,$(LIB_NAME_SPAWNER) -o $(LIB_NAME_FULL_SPAWNER) $(OBJS_SPAWNER) -lc + +$(LIB_NAME_FULL_PTY): $(OBJS_PTY) + $(CC) -g -shared -Wl,-soname,$(LIB_NAME_PTY) -o $(LIB_NAME_FULL_PTY) $(OBJS_PTY) clean : - rm $(OBJS) + $(RM) $(OBJS_SPAWNER) $(LIB_NAME_FULL_SPAWNER) + $(RM) $(OBJS_PTY) $(LIB_NAME_FULL_PTY) diff --git a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c index 3c8b275503e..8be8d5131db 100644 --- a/core/org.eclipse.cdt.core.solaris/library/exec_unix.c +++ b/core/org.eclipse.cdt.core.solaris/library/exec_unix.c @@ -29,7 +29,7 @@ exec0(const char *path, char *const argv[], char *const envp[], return -1; } } else { - full_path = path; + full_path = strdup(path); } // diff --git a/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so b/core/org.eclipse.cdt.core.solaris/os/solaris/sparc/libpty.so new file mode 100644 index 0000000000000000000000000000000000000000..33ba3c70d6345e1f9f53898b0a487c5b088705f2 GIT binary patch literal 9681 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 delta 2057 zcmdT_-)q}d6hEiQw^bM0q+Q!=ZTI~)sV4nl)2vmynUPMXRw*pF;ffZlGGPpnVEd4V zLMu)!ZV%ax;2x^$|c;Vjj z`J8j^_nz;)=ic+#>_0QvFlR3JgpcKk9CWgXF_Mnp>~^Z#B&sVx-{9Koh(aaeO8@>s zgJ(VgD|v|asU)&fI)eLDl70yd{7IF>&ZY|RMwP_QmJ0ADmBh}r3UI$lVyCDAJfIRQ zr&WMAs{}_VXi&7MBo1d(fbUnSTn4;rT#_BH%_;fYo8%EmSTQcj2i69|TK^JHNxJ?8 zPRO5?x(pt}X&F30)NSx2Q5bl>{L!=cX=A|FKW#9Aix|8}6g3!u_8GiP zG+^*GqCtbPNilW8W2?*L>t8mO$FQ>Ak}>igl)1(TGH9jo6aH4BO-c64 zxuyvJAlarf{ITpdeZ@1f;J?jXG99qFRTct2@jWTDbmZP?PBVXzE3};9BMpH1lU-u^;B8uM?Lwem6PvrK3 zr|P+wo3LY^_i^=|8|XMeH1{%B?ud=Fv5_I#>;?2ybeyPN!jl4><3|T@M$xh14*Z>S z=$PYV(c$l`6FWEMPRQoOl`yVoZYcbh#n&a;Yg;%lJ0TOjVJiicl3AcU=Hz7wXcK5t zwt$dP&X(Nm4a;x6ozmauvx?9ZCD9kQuvRE7XMqq^s3ezwGD!D~T(6>?z6f3gZ-0cB zWB_BcoW^)r<}j9I1!GXQ`)~a}9=@aU(KDYO$L8R)DsS)`tyZgXtya5ntyaOqYskx+hqYSyhP7Ia4?j|^tYeQ> aD+?Q4DVLRMWxZ9dR{3GAR(r#Z_5T8HVmN~U