From b03d10b1648599e1f273f6c09fd10dcf2c315e45 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Wed, 29 Apr 2026 12:48:29 +0700 Subject: [PATCH] config: use E_FREE/eina_stringshare_replace on stale config free() on memory returned by e_config_domain_load mixes allocators on the stringshare member. Use eina_stringshare_replace to drop the stringshared field and E_FREE for the struct. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/e_mod_config.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/e_mod_config.c b/src/e_mod_config.c index 50bfdd6..255fc0e 100644 --- a/src/e_mod_config.c +++ b/src/e_mod_config.c @@ -30,9 +30,8 @@ e_iwd_config_load(void) /* Missing or out-of-date — start fresh with defaults. */ if (e_iwd_config) { - if (e_iwd_config->preferred_adapter) - eina_stringshare_del(e_iwd_config->preferred_adapter); - free(e_iwd_config); + eina_stringshare_replace(&e_iwd_config->preferred_adapter, NULL); + E_FREE(e_iwd_config); } e_iwd_config = E_NEW(E_Iwd_Config, 1); e_iwd_config->version = CONFIG_VERSION;