summaryrefslogtreecommitdiffstats
path: root/generic/tclListObj.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tclListObj.c')
-rw-r--r--generic/tclListObj.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/generic/tclListObj.c b/generic/tclListObj.c
index 8a0f89a..d4f7da9 100644
--- a/generic/tclListObj.c
+++ b/generic/tclListObj.c
@@ -1718,10 +1718,12 @@ SetListFromAny(
Tcl_DictObjSize(NULL, objPtr, &size);
listRepPtr = NewListIntRep(size > 0 ? 2*size : 1, NULL);
if (!listRepPtr) {
- Tcl_SetResult(interp,
- "insufficient memory to allocate list working space",
- TCL_STATIC);
- Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL);
+ if (interp) {
+ Tcl_SetResult(interp,
+ "insufficient memory to allocate list working space",
+ TCL_STATIC);
+ Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL);
+ }
return TCL_ERROR;
}
listRepPtr->elemCount = 2 * size;
@@ -1779,9 +1781,11 @@ SetListFromAny(
listRepPtr = NewListIntRep(estCount, NULL);
if (!listRepPtr) {
- Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "Not enough memory to allocate the list internal rep", -1));
- Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL);
+ if (interp) {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(
+ "Not enough memory to allocate the list internal rep", -1));
+ Tcl_SetErrorCode(interp, "TCL", "MEMORY", NULL);
+ }
return TCL_ERROR;
}
elemPtrs = &listRepPtr->elements;