summaryrefslogtreecommitdiffstats
path: root/generic/tclEnsemble.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-11-28 23:44:33 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-11-28 23:44:33 (GMT)
commit8b03ef0b29d52146cae3414edb12216bcc61feeb (patch)
tree39d60f75eb717fa93a1571cf2eec5cf397bf4699 /generic/tclEnsemble.c
parent8f6442b0c910bb7b7431c390a2dbb92985d83162 (diff)
parent71b0ad990caaf6a297049da2c63821a4e29c57ac (diff)
downloadtcl-8b03ef0b29d52146cae3414edb12216bcc61feeb.zip
tcl-8b03ef0b29d52146cae3414edb12216bcc61feeb.tar.gz
tcl-8b03ef0b29d52146cae3414edb12216bcc61feeb.tar.bz2
Merge 8.7
Diffstat (limited to 'generic/tclEnsemble.c')
-rw-r--r--generic/tclEnsemble.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/generic/tclEnsemble.c b/generic/tclEnsemble.c
index 6a9dc9e..a84b188 100644
--- a/generic/tclEnsemble.c
+++ b/generic/tclEnsemble.c
@@ -566,8 +566,8 @@ TclNamespaceEnsembleCmd(
continue;
}
do {
- if (TclListObjGetElementsM(interp, listObj, &len,
- &listv) != TCL_OK) {
+ if (TclListObjLengthM(interp, listObj, &len
+ ) != TCL_OK) {
Tcl_DictObjDone(&search);
if (patchedDict) {
Tcl_DecrRefCount(patchedDict);
@@ -586,6 +586,14 @@ TclNamespaceEnsembleCmd(
}
goto freeMapAndError;
}
+ if (TclListObjGetElementsM(interp, listObj, &len,
+ &listv) != TCL_OK) {
+ Tcl_DictObjDone(&search);
+ if (patchedDict) {
+ Tcl_DecrRefCount(patchedDict);
+ }
+ goto freeMapAndError;
+ }
cmd = TclGetString(listv[0]);
if (!(cmd[0] == ':' && cmd[1] == ':')) {
Tcl_Obj *newList = Tcl_DuplicateObj(listObj);