summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--generic/tclDictObj.c1
-rw-r--r--generic/tclEvent.c2
3 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 37234bd..efbcaa2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;