From c9ccc4f6df7f1469d21f8316342f8d3a54829ef7 Mon Sep 17 00:00:00 2001 From: CismonX Date: Sat, 29 Mar 2025 13:22:52 +0800 Subject: [PATCH] backend_chromium: fix use-after-free It's a regression in commit bdfa812d79c3b6e41772dac6d557e1ae6a3da4d8. --- src/backend_chromium.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend_chromium.c b/src/backend_chromium.c index f19ed1e..5087525 100644 --- a/src/backend_chromium.c +++ b/src/backend_chromium.c @@ -2238,6 +2238,10 @@ bookmark_delete ( } } + // Remove from store + json_t *siblings = parent_entry->children; + json_array_remove(siblings, json_array_search(siblings, entry->node)); + // Remove from maps long guidmap_entry_id = lctx.entry_id; if (!(ctx->flags & BACKEND_FILENAME_GUID)) { @@ -2248,10 +2252,6 @@ bookmark_delete ( hashmap_delete(ctx->id_map, entry, -1); free(entry); - // Remove from store - json_t *siblings = parent_entry->children; - json_array_remove(siblings, json_array_search(siblings, entry->node)); - ctx->dirty = DIRTY_LEVEL_DATA; node_mtime_now(parent_entry->node, NULL);