diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2012-10-14 19:00:39 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2012-10-14 19:00:39 (GMT) |
commit | 495bfd5d18ba4c3c11903d8a4f551c4dc64f2aab (patch) | |
tree | e4db6f972727d7f790b1241cb383041f47d5b0dc | |
parent | e4c33dab06a4fff34689163ab9bc606ec89bb3ba (diff) | |
download | tcl-495bfd5d18ba4c3c11903d8a4f551c4dc64f2aab.zip tcl-495bfd5d18ba4c3c11903d8a4f551c4dc64f2aab.tar.gz tcl-495bfd5d18ba4c3c11903d8a4f551c4dc64f2aab.tar.bz2 |
Bug 357650: Better fix, which helps for all Tcl_DictObjGet() calls in Tcl's source code.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | generic/tclDictObj.c | 1 | ||||
-rw-r--r-- | generic/tclEvent.c | 2 |
3 files changed, 8 insertions, 1 deletions
@@ -1,3 +1,9 @@ +2012-10-14 Jan Nijtmans <nijtmans@users.sf.net> + + * 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 <nijtmans@users.sf.net> * 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; |