From 559178bdc0175fffe57607164f601e2816ac0de9 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Fri, 13 Oct 2023 14:33:24 +0000 Subject: Fix [52dbc4b3f8]: tclInterp.c: Tcl_Free() called through pointer of incorrect type --- generic/tclInterp.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/generic/tclInterp.c b/generic/tclInterp.c index 0a57b70..42d8ec3 100644 --- a/generic/tclInterp.c +++ b/generic/tclInterp.c @@ -3499,6 +3499,14 @@ RunLimitHandlers( *---------------------------------------------------------------------- */ +/* Bug 52dbc4b3f8: wrap Tcl_Free since it is not a Tcl_LimitHandlerDeleteProc. */ +static void +WrapFree( + void *ptr) +{ + Tcl_Free(ptr); +} + void Tcl_LimitAddHandler( Tcl_Interp *interp, @@ -3515,10 +3523,7 @@ Tcl_LimitAddHandler( */ if (deleteProc == (Tcl_LimitHandlerDeleteProc *) TCL_DYNAMIC) { - deleteProc = (Tcl_LimitHandlerDeleteProc *) Tcl_Free; - } - if (deleteProc == (Tcl_LimitHandlerDeleteProc *) TCL_STATIC) { - deleteProc = NULL; + deleteProc = WrapFree; } /* -- cgit v0.12