diff options
author | f.bonnet <f.bonnet> | 2017-08-27 15:25:57 (GMT) |
---|---|---|
committer | f.bonnet <f.bonnet> | 2017-08-27 15:25:57 (GMT) |
commit | 68b53cfb2571faea3e86f728b3a07222ea9143d0 (patch) | |
tree | d171a8c1e48d15a604be9de942d988bd21e1feff /generic/tclPipe.c | |
parent | 935e991786520c81b01c7c2992568703d3d0746f (diff) | |
download | tcl-68b53cfb2571faea3e86f728b3a07222ea9143d0.zip tcl-68b53cfb2571faea3e86f728b3a07222ea9143d0.tar.gz tcl-68b53cfb2571faea3e86f728b3a07222ea9143d0.tar.bz2 |
Fixed reference counting issue with objects returned by WaitProcessStatus
Diffstat (limited to 'generic/tclPipe.c')
-rw-r--r-- | generic/tclPipe.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/generic/tclPipe.c b/generic/tclPipe.c index d20d8eb..fa5c55d 100644 --- a/generic/tclPipe.c +++ b/generic/tclPipe.c @@ -290,6 +290,8 @@ TclCleanupChildren( Tcl_SetObjErrorCode(interp, error); Tcl_SetObjResult(interp, msg); } + Tcl_DecrRefCount(error); + Tcl_DecrRefCount(msg); continue; } @@ -305,7 +307,6 @@ TclCleanupChildren( if (waitStatus == TCL_PROCESS_EXITED) { if (interp != NULL) { Tcl_SetObjErrorCode(interp, error); - Tcl_DecrRefCount(msg); } abnormalExit = 1; } else if (interp != NULL) { @@ -313,6 +314,8 @@ TclCleanupChildren( Tcl_SetObjResult(interp, msg); } } + Tcl_DecrRefCount(error); + Tcl_DecrRefCount(msg); } /* |