summaryrefslogtreecommitdiffstats
path: root/generic/tclProc.c
diff options
context:
space:
mode:
authorpooryorick <com.digitalsmarties@pooryorick.com>2020-08-12 13:28:08 (GMT)
committerpooryorick <com.digitalsmarties@pooryorick.com>2020-08-12 13:28:08 (GMT)
commit1d4f551278f3f36f063591ecc1a6bd2e7964b14f (patch)
treee1fe6781e3e2a5cbb0f2944b71d7c2f43161303c /generic/tclProc.c
parentb3f8c269fa4910edabe381bf6ec17ecdb2bb19e1 (diff)
downloadtcl-1d4f551278f3f36f063591ecc1a6bd2e7964b14f.zip
tcl-1d4f551278f3f36f063591ecc1a6bd2e7964b14f.tar.gz
tcl-1d4f551278f3f36f063591ecc1a6bd2e7964b14f.tar.bz2
Fix for [3422267ed6b7], segmentation fault with imported alias.
Diffstat (limited to 'generic/tclProc.c')
-rw-r--r--generic/tclProc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 0d67c37..150d036 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -215,6 +215,7 @@ Tcl_ProcObjCmd(
*/
procPtr->cmdPtr = (Command *) cmd;
+ procPtr->cmdPtr->refCount++;
/*
* TIP #280: Remember the line the procedure body is starting on. In a
@@ -2154,6 +2155,12 @@ TclProcCleanupProc(
ckfree(localPtr);
localPtr = nextPtr;
}
+ /*
+ * TclOOMethod.c:clOOMakeProcMethod sets cmdPtr to NULL
+ */
+ if (procPtr->cmdPtr) {
+ TclCleanupCommandMacro(procPtr->cmdPtr);
+ }
ckfree(procPtr);
/*