summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorapnadkarni <apnmbx-wits@yahoo.com>2025-09-19 08:30:18 (GMT)
committerapnadkarni <apnmbx-wits@yahoo.com>2025-09-19 08:30:18 (GMT)
commit213e4f4959332b49207851a4f8ff762a63891a78 (patch)
treee41ac1a8ae869d88178c23218e677b499f12b220
parentb611cc9207753299a05ac841d41375bc05c24910 (diff)
downloadtcl-213e4f4959332b49207851a4f8ff762a63891a78.zip
tcl-213e4f4959332b49207851a4f8ff762a63891a78.tar.gz
tcl-213e4f4959332b49207851a4f8ff762a63891a78.tar.bz2
Fix leak in zipfs encoding initialization
-rw-r--r--generic/tclZipfs.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c
index 31e13a3..63efc14 100644
--- a/generic/tclZipfs.c
+++ b/generic/tclZipfs.c
@@ -6447,16 +6447,17 @@ TclZipfsInitEncodingDirs(void)
if (zipfs_literal_tcl_library == NULL) {
return TCL_ERROR;
}
- Tcl_Obj *libDirObj = Tcl_NewStringObj(zipfs_literal_tcl_library, -1);
Tcl_Obj *subDirObj, *searchPathObj;
-
+ Tcl_Obj *libDirObj = Tcl_NewStringObj(zipfs_literal_tcl_library, -1);
+ Tcl_IncrRefCount(libDirObj);
TclNewLiteralStringObj(subDirObj, "encoding");
Tcl_IncrRefCount(subDirObj);
TclNewObj(searchPathObj);
Tcl_ListObjAppendElement(NULL, searchPathObj,
Tcl_FSJoinToPath(libDirObj, 1, &subDirObj));
- Tcl_DecrRefCount(subDirObj);
Tcl_IncrRefCount(searchPathObj);
+ Tcl_DecrRefCount(subDirObj);
+ Tcl_DecrRefCount(libDirObj);
Tcl_SetEncodingSearchPath(searchPathObj);
Tcl_DecrRefCount(searchPathObj);
/* Reinit system encoding after setting search path */