summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2001-03-13 11:10:44 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2001-03-13 11:10:44 (GMT)
commitcc54e8b692fee89c6fd62359d605a21434c1ab25 (patch)
tree13de6dfc488b01c6d3c5575abb5b20584700eb46
parent3eac215c3bf3020dfdf73a7eda2683887b6a6f56 (diff)
downloadtcl-cc54e8b692fee89c6fd62359d605a21434c1ab25.zip
tcl-cc54e8b692fee89c6fd62359d605a21434c1ab25.tar.gz
tcl-cc54e8b692fee89c6fd62359d605a21434c1ab25.tar.bz2
A missing return was causing memory corruption in [string map].
-rw-r--r--ChangeLog3
-rw-r--r--generic/tclCmdMZ.c3
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c2bfca3..494f606 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2001-03-13 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+ * generic/tclCmdMZ.c (Tcl_StringObjCmd): A missing
+ {return TCL_OK;} was causing memory corruption. [Bug #408002]
+
* generic/tclExecute.c (TclDeleteExecEnv, GrowEvaluationStack,
TclExecuteByteCode): Added some casts to ClientData that are
apparently needed on some architectures.
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c
index b328793..a0e0489 100644
--- a/generic/tclCmdMZ.c
+++ b/generic/tclCmdMZ.c
@@ -13,7 +13,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclCmdMZ.c,v 1.31 2001/02/16 09:26:30 dkf Exp $
+ * RCS: @(#) $Id: tclCmdMZ.c,v 1.32 2001/03/13 11:10:44 dkf Exp $
*/
#include "tclInt.h"
@@ -1663,6 +1663,7 @@ Tcl_StringObjCmd(dummy, interp, objc, objv)
* empty charMap, just return whatever string was given
*/
Tcl_SetObjResult(interp, objv[objc-1]);
+ return TCL_OK;
} else if (mapElemc & 1) {
/*
* The charMap must be an even number of key/value items