Skip to content

Commit 98be046

Browse files
committed
Merge 9.0 - Fix leak in zipfs encoding initialization
2 parents 3599675 + 213e4f4 commit 98be046

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

generic/tclZipfs.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6420,16 +6420,17 @@ TclZipfsInitEncodingDirs(void)
64206420
if (zipfs_literal_tcl_library == NULL) {
64216421
return TCL_ERROR;
64226422
}
6423-
Tcl_Obj *libDirObj = Tcl_NewStringObj(zipfs_literal_tcl_library, -1);
64246423
Tcl_Obj *subDirObj, *searchPathObj;
6425-
6424+
Tcl_Obj *libDirObj = Tcl_NewStringObj(zipfs_literal_tcl_library, -1);
6425+
Tcl_IncrRefCount(libDirObj);
64266426
TclNewLiteralStringObj(subDirObj, "encoding");
64276427
Tcl_IncrRefCount(subDirObj);
64286428
TclNewObj(searchPathObj);
64296429
Tcl_ListObjAppendElement(NULL, searchPathObj,
64306430
Tcl_FSJoinToPath(libDirObj, 1, &subDirObj));
6431-
Tcl_DecrRefCount(subDirObj);
64326431
Tcl_IncrRefCount(searchPathObj);
6432+
Tcl_DecrRefCount(subDirObj);
6433+
Tcl_DecrRefCount(libDirObj);
64336434
Tcl_SetEncodingSearchPath(searchPathObj);
64346435
Tcl_DecrRefCount(searchPathObj);
64356436
/* Reinit system encoding after setting search path */

0 commit comments

Comments
 (0)