diff options
-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 691fab9..b5c7ac0 100644 --- a/generic/tclDictObj.c +++ b/generic/tclDictObj.c @@ -954,6 +954,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 0e15f71..0b585b6 100644 --- a/generic/tclEvent.c +++ b/generic/tclEvent.c @@ -312,7 +312,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; |