Files
yosys/kernel
Martin Povišer 167c6c4585 Replace deprecated Tcl API to fix use-after-free
Under Tcl 9.0 the Tcl_SetResult utility is a macro:

	#define Tcl_SetResult(interp, result, freeProc) \
		do { \
		    const char *__result = result; \
		    Tcl_FreeProc *__freeProc = freeProc; \
		    Tcl_SetObjResult(interp, Tcl_NewStringObj(__result, -1)); \
		    if (__result != NULL && __freeProc != NULL && __freeProc != TCL_VOLATILE) { \
			if (__freeProc == TCL_DYNAMIC) { \
			    Tcl_Free((char *)__result); \
			} else { \
			    (*__freeProc)((char *)__result); \
			} \
		    } \
		} while(0)

Temporaries constructed as part of the 'result' expression will be
dropped before the 'result' pointer is used. What was safe when
Tcl_SetResult was a function isn't safe with the macro definition.
Transition away from deprecated SetResult to calling
SetObjResult/MewStringObj directly.
2026-03-06 11:52:17 +01:00
..
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2025-12-10 12:41:13 +01:00
2026-01-19 12:00:18 +01:00
2025-12-09 11:58:57 +01:00
2025-09-16 03:17:23 +00:00
2025-11-19 15:20:50 +01:00
2025-11-19 15:20:50 +01:00
2025-09-16 03:17:23 +00:00
2025-05-12 12:48:01 +12:00
2025-03-19 13:43:44 +01:00
2026-01-08 04:21:39 +00:00
2025-08-06 13:52:12 +12:00
2025-12-04 16:27:13 +01:00
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2026-01-13 14:23:51 +01:00
2025-12-04 12:09:04 +01:00
2025-12-04 12:09:04 +01:00
2026-01-13 14:23:51 +01:00
2025-12-09 11:58:43 +01:00
2025-09-16 03:17:23 +00:00
2025-01-14 12:39:15 +01:00