summaryrefslogtreecommitdiffstats
path: root/generic/tclUtil.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2015-11-20 16:42:57 (GMT)
committerdgp <dgp@users.sourceforge.net>2015-11-20 16:42:57 (GMT)
commit94b81dda496d4ab92cd28c9fa1778dec5b2e8d67 (patch)
treea7f9d5de436e44a163dfaca6fba37508ef99f227 /generic/tclUtil.c
parentc3e6dcaa6708a3c30c57abc83697fea22ff77809 (diff)
parentf4b65459ef36d86c50bf8b28aabd416c013b1022 (diff)
downloadtcl-94b81dda496d4ab92cd28c9fa1778dec5b2e8d67.zip
tcl-94b81dda496d4ab92cd28c9fa1778dec5b2e8d67.tar.gz
tcl-94b81dda496d4ab92cd28c9fa1778dec5b2e8d67.tar.bz2
[40f628e8e3] Tcl_ListObjReplace() callers need to handle TCL_ERROR.
Diffstat (limited to 'generic/tclUtil.c')
-rw-r--r--generic/tclUtil.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 8de0267..2b0fb72 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -1981,7 +1981,11 @@ Tcl_ConcatObj(
continue;
}
if (resPtr) {
- Tcl_ListObjAppendList(NULL, resPtr, objPtr);
+ if (TCL_OK != Tcl_ListObjAppendList(NULL, resPtr, objPtr)) {
+ /* Abandon ship! */
+ Tcl_DecrRefCount(resPtr);
+ goto slow;
+ }
} else {
resPtr = TclListObjCopy(NULL, objPtr);
}
@@ -1992,6 +1996,7 @@ Tcl_ConcatObj(
return resPtr;
}
+ slow:
/*
* Something cannot be determined to be safe, so build the concatenation
* the slow way, using the string representations.