From 213e4f4959332b49207851a4f8ff762a63891a78 Mon Sep 17 00:00:00 2001 From: apnadkarni Date: Fri, 19 Sep 2025 08:30:18 +0000 Subject: Fix leak in zipfs encoding initialization --- generic/tclZipfs.c | 7 ++++--- 1 file 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 */ -- cgit v0.12