From d4089c58e898ef0baea4e7eca911e49a91f73c96 Mon Sep 17 00:00:00 2001 From: Thomas Arp <357770+welcor@users.noreply.github.com> Date: Tue, 21 Apr 2026 23:15:35 +0200 Subject: [PATCH] Potential fix for code scanning alert no. 73: Potential use after free (#168) Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- src/dg_triggers.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/dg_triggers.c b/src/dg_triggers.c index a569d58..c93f1ef 100644 --- a/src/dg_triggers.c +++ b/src/dg_triggers.c @@ -246,7 +246,8 @@ void entry_memory_mtrigger(char_data *ch) for (actor = world[IN_ROOM(ch)].people; actor && SCRIPT_MEM(ch); actor = actor->next_in_room) { if (actor!=ch && SCRIPT_MEM(ch)) { - for (mem = SCRIPT_MEM(ch); mem && SCRIPT_MEM(ch); mem = mem->next) { + for (mem = SCRIPT_MEM(ch); mem && SCRIPT_MEM(ch); ) { + struct script_memory *next_mem = mem->next; if (char_script_id(actor)==mem->id) { struct script_memory *prev; if (mem->cmd) command_interpreter(ch, mem->cmd); @@ -271,6 +272,7 @@ void entry_memory_mtrigger(char_data *ch) if (mem->cmd) free(mem->cmd); free(mem); } + mem = next_mem; } /* for (mem =..... */ } }