Index: head/lang/tcl86/Makefile =================================================================== --- head/lang/tcl86/Makefile (revision 425328) +++ head/lang/tcl86/Makefile (revision 425329) @@ -1,84 +1,84 @@ # Created by: Martin Matuska # $FreeBSD$ PORTNAME= tcl PORTVERSION= 8.6.6 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= SF/tcl/Tcl/${PORTVERSION} \ TCLTK/tcl8_6 PKGNAMESUFFIX= ${PORTVERSION:R:S/.//} DISTNAME= ${PORTNAME}${PORTVERSION}-src MAINTAINER= tcltk@FreeBSD.org COMMENT= Tool Command Language LICENSE= TclTk LICENSE_NAME= Tcl/Tk License LICENSE_FILE= ${WRKSRC}/../license.terms LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept OPTIONS_DEFINE= TCLMAN TZDATA MODULES THREADS DEBUG OPTIONS_DEFAULT=MODULES THREADS TCLMAN_DESC= Install Tcl function manpages TZDATA_DESC= Install Tcl timezone data MODULES_DESC= Install Tcl common modules OPTIONS_SUB= yes PATCH_WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION} WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}/unix ALL_TARGET= all INSTALL_TARGET= install-strip install-libraries TEST_TARGET= test-tcl USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --enable-shared \ --enable-man-suffix=.${MAN_SUFFIX} \ --includedir=${PREFIX}/include/tcl${TCL_VER} CONFIGURE_ENV= PORTSDIR=${PORTSDIR} TCL_VER= ${PORTVERSION:R} SHORT_TCL_VER= ${TCL_VER:S/.//} MAN_SUFFIX= ${PKGBASE} MAKE_ENV= SHORT_TCL_VER=${SHORT_TCL_VER} \ MAN_SUFFIX=.${MAN_SUFFIX} \ LANG=C LC_ALL=C # LANG=C is required for some of UTF-using tests PLIST_SUB= TCL_VER=${TCL_VER} \ SHORT_TCL_VER=${SHORT_TCL_VER} TCLMAN_INSTALL_TARGET= install-doc TZDATA_INSTALL_TARGET= install-tzdata MODULES_INSTALL_TARGET= install-modules THREADS_CONFIGURE_ENABLE= threads DEBUG_CONFIGURE_ENABLE= symbols .include post-patch: ${REINPLACE_CMD} -e \ 's|@TCL_BUILD_LIB_SPEC@|@TCL_LIB_SPEC@|; \ s|@TCL_BUILD_STUB_LIB_SPEC@|@TCL_STUB_LIB_SPEC@|; \ s|@TCL_BUILD_STUB_LIB_PATH@|@TCL_STUB_LIB_PATH@|; \ s|@TCL_SRC_DIR@|${PREFIX}/include/tcl${TCL_VER}|' \ ${PATCH_WRKSRC}/unix/tclConfig.sh.in # On FreeBSD 9, pkg-config --cflags tcl can't find zlib. .if ${OSVERSION} < 1000000 ${REINPLACE_CMD} -e \ 's|Requires.private: zlib >= 1.2.3||' \ ${PATCH_WRKSRC}/unix/tcl.pc.in .endif post-patch-TCLMAN-off: @${FIND} ${PATCH_WRKSRC}/pkgs -name Makefile.in | ${XARGS} ${REINPLACE_CMD} \ -e '/^install:/s|install-doc||' post-configure: ${REINPLACE_CMD} \ -e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' \ -e 's,^COMPAT_OBJS.*,,' ${WRKSRC}/Makefile .include Index: head/lang/tcl86/files/patch-bug214205 =================================================================== --- head/lang/tcl86/files/patch-bug214205 (nonexistent) +++ head/lang/tcl86/files/patch-bug214205 (revision 425329) @@ -0,0 +1,64 @@ +Index: generic/tclListObj.c +================================================================== +--- generic/tclListObj.c ++++ generic/tclListObj.c +@@ -853,12 +853,15 @@ + */ + count = numElems - first; + } + + if (objc > LIST_MAX - (numElems - count)) { +- Tcl_SetObjResult(interp, Tcl_ObjPrintf( +- "max length of a Tcl list (%d elements) exceeded", LIST_MAX)); ++ if (interp != NULL) { ++ Tcl_SetObjResult(interp, Tcl_ObjPrintf( ++ "max length of a Tcl list (%d elements) exceeded", ++ LIST_MAX)); ++ } + return TCL_ERROR; + } + isShared = (listRepPtr->refCount > 1); + numRequired = numElems - count + objc; /* Known <= LIST_MAX */ + + +Index: generic/tclListObj.c +================================================================== +--- generic/tclListObj.c ++++ generic/tclListObj.c +@@ -895,15 +895,12 @@ + if (first >= numElems) { + first = numElems; /* So we'll insert after last element. */ + } + if (count < 0) { + count = 0; +- } else if (numElems < first+count || first+count < 0) { +- /* +- * The 'first+count < 0' condition here guards agains integer +- * overflow in determining 'first+count'. +- */ ++ } else if (first > INT_MAX - count /* Handle integer overflow */ ++ || numElems < first+count) { + + count = numElems - first; + } + + if (objc > LIST_MAX - (numElems - count)) { + +Index: generic/tclEnsemble.c +================================================================== +--- generic/tclEnsemble.c ++++ generic/tclEnsemble.c +@@ -3133,11 +3133,11 @@ + /* + * The length of the "replaced" list must be depth-1. Trim back + * any extra elements that might have been appended by failing + * pathways above. + */ +- (void) Tcl_ListObjReplace(NULL, replaced, depth-1, INT_MAX, 0, NULL); ++ (void) Tcl_ListObjReplace(NULL, replaced, depth-1, LIST_MAX, 0, NULL); + + /* + * TODO: Reconsider whether we ought to call CompileToInvokedCommand() + * when depth==1. In that case we are choosing to emit the + * INST_INVOKE_REPLACE bytecode when there is in fact no replacing + Property changes on: head/lang/tcl86/files/patch-bug214205 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property