From bd2bdd6f8a4571b486ba30fbf686af3eb82ee6bc Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Sun, 14 Oct 2012 19:00:39 +0000 Subject: Bug 357650: Better fix, which helps for all Tcl_DictObjGet() calls in Tcl's source code. --- ChangeLog | 6 ++++++ generic/tclDictObj.c | 1 + generic/tclEvent.c | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index ba075d7..3793786 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-10-14 Jan Nijtmans + + * generic/tclDictObj.c: [Bug 3576509]: tcl::Bgerror crashes with invalid + * generic/tclEvent.c: arguments. Better fix, which helps for all + Tcl_DictObjGet() calls in Tcl's source code. + 2012-10-13 Jan Nijtmans * generic/tclEvent.c: [Bug 3576509]: tcl::Bgerror crashes with invalid diff --git a/generic/tclDictObj.c b/generic/tclDictObj.c index 8f3ce3a..b066d46 100644 --- a/generic/tclDictObj.c +++ b/generic/tclDictObj.c @@ -941,6 +941,7 @@ Tcl_DictObjGet( if (dictPtr->typePtr != &tclDictType) { int result = SetDictFromAny(interp, dictPtr); if (result != TCL_OK) { + *valuePtrPtr = NULL; return result; } } diff --git a/generic/tclEvent.c b/generic/tclEvent.c index 1d72a0a..7daa7bb 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -309,7 +309,7 @@ TclDefaultBgErrorHandlerObjCmd( int objc, /* Number of arguments. */ Tcl_Obj *CONST objv[]) /* Argument objects. */ { - Tcl_Obj *keyPtr, *valuePtr = NULL; + Tcl_Obj *keyPtr, *valuePtr; Tcl_Obj *tempObjv[2]; int code, level; Tcl_InterpState saved; -- cgit v0.12