diff options
| author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-10-13 14:33:24 (GMT) |
|---|---|---|
| committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2023-10-13 14:33:24 (GMT) |
| commit | 559178bdc0175fffe57607164f601e2816ac0de9 (patch) | |
| tree | 9ab3d4bb45612fdca8baa3b2191a2ce941570caa | |
| parent | bfa39cdd57f5e52d610b1c1e7168718760e77b93 (diff) | |
| download | tcl-559178bdc0175fffe57607164f601e2816ac0de9.zip tcl-559178bdc0175fffe57607164f601e2816ac0de9.tar.gz tcl-559178bdc0175fffe57607164f601e2816ac0de9.tar.bz2 | |
Fix [52dbc4b3f8]: tclInterp.c: Tcl_Free() called through pointer of incorrect type
| -rw-r--r-- | generic/tclInterp.c | 13 |
1 files 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; } /* |
