summaryrefslogtreecommitdiffstats
path: root/generic/tclBasic.c
diff options
context:
space:
mode:
authorsebres <sebres@users.sourceforge.net>2024-05-30 18:36:29 (GMT)
committersebres <sebres@users.sourceforge.net>2024-05-30 18:36:29 (GMT)
commitc6cbb0ff4a7bb42711f2b21953de289903ffa8b4 (patch)
tree844db52baf0c81c5f11c7b1e373bb742595001f6 /generic/tclBasic.c
parente524b914e2f249d373a8822101fc19275fe8f7a3 (diff)
downloadtcl-c6cbb0ff4a7bb42711f2b21953de289903ffa8b4.zip
tcl-c6cbb0ff4a7bb42711f2b21953de289903ffa8b4.tar.gz
tcl-c6cbb0ff4a7bb42711f2b21953de289903ffa8b4.tar.bz2
closes [34870ab5756911d1]: no double free if Tcl_DeleteAssocData gets called in deleteProc (if interp gets deleted); amend to [ec7e558c34856b07], reverts [b95643fa3926f2e3].
Diffstat (limited to 'generic/tclBasic.c')
-rw-r--r--generic/tclBasic.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 2514364..4cf24e4 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -2000,10 +2000,10 @@ DeleteInterpProc(
hPtr != NULL;
hPtr = Tcl_FirstHashEntry(hTablePtr, &search)) {
dPtr = (AssocData *)Tcl_GetHashValue(hPtr);
+ Tcl_DeleteHashEntry(hPtr);
if (dPtr->proc != NULL) {
dPtr->proc(dPtr->clientData, interp);
}
- Tcl_DeleteHashEntry(hPtr);
ckfree(dPtr);
}
Tcl_DeleteHashTable(hTablePtr);