summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-08-23 07:03:31 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-08-23 07:03:31 (GMT)
commit529ef6feb2f0e3db14385328bb4f7a84cbef375d (patch)
tree1078edd8b534ed15050cc096985ac6186a25b740
parent9934337df515b6c3fcf01949222d55a077582d45 (diff)
downloadtcl-529ef6feb2f0e3db14385328bb4f7a84cbef375d.zip
tcl-529ef6feb2f0e3db14385328bb4f7a84cbef375d.tar.gz
tcl-529ef6feb2f0e3db14385328bb4f7a84cbef375d.tar.bz2
Fix [d052d2a1b01ba2c8]: avoid leak in TestsetbytearraylengthObjCmd()
-rw-r--r--generic/tclTest.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c
index ac0c210..919e020 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -5130,7 +5130,10 @@ TestsetbytearraylengthObjCmd(
obj = objv[1];
}
if (NULL == Tcl_SetByteArrayLength(obj, n)) {
- Tcl_SetResult(interp, "expected bytes", TCL_STATIC);
+ if (Tcl_IsShared(objv[1])) {
+ Tcl_DecrRefCount(obj);
+ }
+ Tcl_AppendResult(interp, "expected bytes", NULL);
return TCL_ERROR;
}
Tcl_SetObjResult(interp, obj);