diff options
author | cheusov <cheusov@pkgsrc.org> | 2011-08-16 10:18:58 +0000 |
---|---|---|
committer | cheusov <cheusov@pkgsrc.org> | 2011-08-16 10:18:58 +0000 |
commit | b92c60c379b99632f08a12b5f1ea881293a8aa59 (patch) | |
tree | 08da607cb5288dda0dc9d58ad12437e63e6a07ca /lang/tcl | |
parent | 5beaa9a4c75715bdb62b29b40eac2dde67ca6700 (diff) | |
download | pkgsrc-b92c60c379b99632f08a12b5f1ea881293a8aa59.tar.gz |
Fix for buffer overflow and segfault on some Linux system
(PR 45244 by Michael Droettboom)
Fix for build failure on NetBSD (missing --tags in libtool invocation)
Diffstat (limited to 'lang/tcl')
-rw-r--r-- | lang/tcl/Makefile | 3 | ||||
-rw-r--r-- | lang/tcl/distinfo | 7 | ||||
-rw-r--r-- | lang/tcl/patches/patch-aa | 10 | ||||
-rw-r--r-- | lang/tcl/patches/patch-ad | 6 | ||||
-rw-r--r-- | lang/tcl/patches/patch-generic_tclCmdMZ.c | 32 |
5 files changed, 46 insertions, 12 deletions
diff --git a/lang/tcl/Makefile b/lang/tcl/Makefile index 95437fa2f19..5123674854f 100644 --- a/lang/tcl/Makefile +++ b/lang/tcl/Makefile @@ -1,7 +1,8 @@ -# $NetBSD: Makefile,v 1.65 2009/09/12 17:57:40 snj Exp $ +# $NetBSD: Makefile,v 1.66 2011/08/16 10:18:58 cheusov Exp $ DISTNAME= tcl${TCL_VERSION}-src PKGNAME= tcl-${TCL_VERSION} +PKGREVISION= 1 CATEGORIES= lang MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=tcl/} diff --git a/lang/tcl/distinfo b/lang/tcl/distinfo index d4a17aa6c9f..f9eef79b03e 100644 --- a/lang/tcl/distinfo +++ b/lang/tcl/distinfo @@ -1,15 +1,16 @@ -$NetBSD: distinfo,v 1.42 2008/04/07 15:16:40 bjs Exp $ +$NetBSD: distinfo,v 1.43 2011/08/16 10:18:58 cheusov Exp $ SHA1 (tcl8.4.18-src.tar.gz) = 83b04c3ad092c22507869dec3a5c7ba821f109b0 RMD160 (tcl8.4.18-src.tar.gz) = 735a9cc0575585de70cbd3cb2ff5c97d46c1dfbd Size (tcl8.4.18-src.tar.gz) = 3653369 bytes -SHA1 (patch-aa) = 7c04a2b24b1a6940b6dff03d9f1781e0326366b3 +SHA1 (patch-aa) = 8db3024597007f861c64e4c933bed3012c27832f SHA1 (patch-ab) = b18a9b49b54cad9512b9ab2d8f7937e4c7a4fbb4 SHA1 (patch-ac) = 3139a65c6647d806fc69765bc62aa715b49f4d41 -SHA1 (patch-ad) = 05a945172651513e178c6f49672bb18d8c4ad3e7 +SHA1 (patch-ad) = 277cf39e47affa2c2913e47a7d4e87468c5e21bb SHA1 (patch-ae) = 7694081556a6b004db47ae54775bea0f659b8805 SHA1 (patch-af) = c31ef207e26c8445f2503817c6a8b49b7593ae8f SHA1 (patch-ag) = fe371866b438063515bad6d145287455c4636824 SHA1 (patch-ah) = b6a68a26ed018f424e9e41bcf6f8da1517bd599a SHA1 (patch-ai) = b0f7818adedd53a123c6ab809bbec28924b3f07b SHA1 (patch-aj) = 74d5d7f0d47f39241068c98a316104da94f1cdb9 +SHA1 (patch-generic_tclCmdMZ.c) = 7779f4e1e8696774821c59d51e2afa32fad821d8 diff --git a/lang/tcl/patches/patch-aa b/lang/tcl/patches/patch-aa index d4458f75334..561f3bb850d 100644 --- a/lang/tcl/patches/patch-aa +++ b/lang/tcl/patches/patch-aa @@ -1,6 +1,6 @@ -$NetBSD: patch-aa,v 1.18 2007/10/13 11:41:44 adam Exp $ +$NetBSD: patch-aa,v 1.19 2011/08/16 10:18:58 cheusov Exp $ ---- unix/Makefile.in.orig 2007-09-21 19:07:02.000000000 +0200 +--- unix/Makefile.in.orig 2008-02-06 15:38:26.000000000 +0000 +++ unix/Makefile.in @@ -185,8 +185,8 @@ SHELL = /bin/sh INSTALL_STRIP_PROGRAM = -s @@ -18,7 +18,7 @@ $NetBSD: patch-aa,v 1.18 2007/10/13 11:41:44 adam Exp $ STLIB_LD = @STLIB_LD@ -SHLIB_LD = @SHLIB_LD@ -+SHLIB_LD = ${LIBTOOL} --mode=link @CC@ -rpath ${PREFIX}/lib ++SHLIB_LD = ${LIBTOOL} --tag CC --mode=link @CC@ -rpath ${PREFIX}/lib SHLIB_CFLAGS = @SHLIB_CFLAGS@ SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ TCL_SHLIB_LD_EXTRAS = @TCL_SHLIB_LD_EXTRAS@ @@ -36,8 +36,8 @@ $NetBSD: patch-aa,v 1.18 2007/10/13 11:41:44 adam Exp $ -CC = @CC@ #CC = purify -best-effort @CC@ -DPURIFY -+CC = ${LIBTOOL} --mode=compile @CC@ -+LD = ${LIBTOOL} --mode=link @CC@ ++CC = ${LIBTOOL} --tag CC --mode=compile @CC@ ++LD = ${LIBTOOL} --tag CC --mode=link @CC@ # Flags to be passed to installManPage to control whether the manpages # should be compressed and linked with softlinks diff --git a/lang/tcl/patches/patch-ad b/lang/tcl/patches/patch-ad index 208099832f7..9a1eea56d36 100644 --- a/lang/tcl/patches/patch-ad +++ b/lang/tcl/patches/patch-ad @@ -1,4 +1,4 @@ -$NetBSD: patch-ad,v 1.4 2006/01/16 14:47:35 adam Exp $ +$NetBSD: patch-ad,v 1.5 2011/08/16 10:18:58 cheusov Exp $ --- unix/dltest/Makefile.in.orig 2004-09-23 20:04:07.000000000 +0000 +++ unix/dltest/Makefile.in @@ -6,12 +6,12 @@ $NetBSD: patch-ad,v 1.4 2006/01/16 14:47:35 adam Exp $ TCL_DBGX = @TCL_DBGX@ -CC = @CC@ -+CC = ${LIBTOOL} --mode=compile @CC@ ++CC = ${LIBTOOL} --tag CC --mode=compile @CC@ LIBS = @TCL_BUILD_STUB_LIB_SPEC@ @DL_LIBS@ @LIBS@ @MATH_LIBS@ AC_FLAGS = @DEFS@ SHLIB_CFLAGS = @SHLIB_CFLAGS@ -SHLIB_LD = @SHLIB_LD@ -+SHLIB_LD = ${LIBTOOL} --mode=link cc -module -pipe -rpath ${PREFIX}/lib ++SHLIB_LD = ${LIBTOOL} --tag CC --mode=link cc -module -pipe -rpath ${PREFIX}/lib SHLIB_LD_LIBS = @SHLIB_LD_LIBS@ -SHLIB_SUFFIX = @SHLIB_SUFFIX@ +SHLIB_SUFFIX = .la diff --git a/lang/tcl/patches/patch-generic_tclCmdMZ.c b/lang/tcl/patches/patch-generic_tclCmdMZ.c new file mode 100644 index 00000000000..46f2e48347f --- /dev/null +++ b/lang/tcl/patches/patch-generic_tclCmdMZ.c @@ -0,0 +1,32 @@ +$NetBSD: patch-generic_tclCmdMZ.c,v 1.1 2011/08/16 10:18:58 cheusov Exp $ + +PR 45244 +--- generic/tclCmdMZ.c.orig 2007-06-27 17:29:22.000000000 +0000 ++++ generic/tclCmdMZ.c +@@ -3340,7 +3340,7 @@ TclTraceExecutionObjCmd(interp, optionIn + flags |= (TCL_TRACE_ENTER_EXEC | + TCL_TRACE_LEAVE_EXEC); + } +- strcpy(tcmdPtr->command, command); ++ memcpy(tcmdPtr->command, command, length + 1); + name = Tcl_GetString(objv[3]); + if (Tcl_TraceCommand(interp, name, flags, TraceCommandProc, + (ClientData) tcmdPtr) != TCL_OK) { +@@ -3572,7 +3572,7 @@ TclTraceCommandObjCmd(interp, optionInde + tcmdPtr->length = length; + tcmdPtr->refCount = 1; + flags |= TCL_TRACE_DELETE; +- strcpy(tcmdPtr->command, command); ++ memcpy(tcmdPtr->command, command, length + 1); + name = Tcl_GetString(objv[3]); + if (Tcl_TraceCommand(interp, name, flags, TraceCommandProc, + (ClientData) tcmdPtr) != TCL_OK) { +@@ -3791,7 +3791,7 @@ TclTraceVariableObjCmd(interp, optionInd + } + tvarPtr->length = length; + flags |= TCL_TRACE_UNSETS | TCL_TRACE_RESULT_OBJECT; +- strcpy(tvarPtr->command, command); ++ memcpy(tvarPtr->command, command, length + 1); + name = Tcl_GetString(objv[3]); + flagMask = TCL_GLOBAL_ONLY | TCL_NAMESPACE_ONLY; + varPtr = TclLookupVar(interp, name, NULL, |