summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tclPathObj.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/generic/tclPathObj.c b/generic/tclPathObj.c
index 87ddfb7..5c30bcf 100644
--- a/generic/tclPathObj.c
+++ b/generic/tclPathObj.c
@@ -2515,8 +2515,12 @@ SetFsPathFromAny(
pair[0] = transPtr;
pair[1] = Tcl_NewStringObj(name+split+1, -1);
transPtr = TclJoinPath(2, pair);
- TclDecrRefCount(pair[0]);
- TclDecrRefCount(pair[1]);
+ if (transPtr != pair[0]) {
+ TclDecrRefCount(pair[0]);
+ }
+ if (transPtr != pair[1]) {
+ TclDecrRefCount(pair[1]);
+ }
}
}
Tcl_DStringFree(&temp);