From 069084c108110e526e1f13a2e0160387b3fb5606 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Fri, 17 Jan 2025 10:35:04 -0800 Subject: [PATCH] fix view parameter storage hook to not repeatedly duplicate key values --- src/raddbg/raddbg_core.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/raddbg/raddbg_core.c b/src/raddbg/raddbg_core.c index 17e67d8d..c851cae2 100644 --- a/src/raddbg/raddbg_core.c +++ b/src/raddbg/raddbg_core.c @@ -3016,10 +3016,13 @@ internal void rd_store_view_param(String8 key, String8 value) { RD_Cfg *view = rd_cfg_from_handle(rd_regs()->view); - RD_Cfg *child = rd_cfg_child_from_string(view, key); - if(child == &rd_nil_cfg) + RD_Cfg *child = rd_cfg_child_from_string_or_alloc(view, key); + for(RD_Cfg *val_child = child->first, *next = &rd_nil_cfg; + val_child != &rd_nil_cfg; + val_child = next) { - child = rd_cfg_new(view, key); + next = val_child->next; + rd_cfg_release(val_child); } rd_cfg_new(child, value); }