diff --git a/generic/tclZipfs.c b/generic/tclZipfs.c index 1653dbe4d86..e7a9b4d3813 100644 --- a/generic/tclZipfs.c +++ b/generic/tclZipfs.c @@ -5221,13 +5221,15 @@ ZipFSPathInFilesystemProc( Tcl_HashSearch search; int ret = -1; size_t len; + Tcl_Obj *normPathPtr; char *path; - pathPtr = Tcl_FSGetNormalizedPath(NULL, pathPtr); - if (!pathPtr) { + normPathPtr = Tcl_FSGetNormalizedPath(NULL, pathPtr); + if (!normPathPtr) { return -1; } - path = Tcl_GetStringFromObj(pathPtr, &len); + path = Tcl_GetStringFromObj(normPathPtr, &len); + Tcl_DecrRefCount(normPathPtr); if (strncmp(path, ZIPFS_VOLUME, ZIPFS_VOLUME_LEN) != 0) { return -1; }