From be0f45e7bcf6bad8143222c541c3d077bdadbecc Mon Sep 17 00:00:00 2001 From: Marek Kwaczynski Date: Wed, 18 Dec 2024 12:20:57 +0100 Subject: [PATCH] udevmand: fix segmentation fault during deinit Segmentation fault was due to double free on b object. bridge_flush function doesn't need free b object becasue it is handled by bridge_update. Signed-off-by: Marek Kwaczynski --- bridge.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/bridge.c b/bridge.c index 68e1218..d85eb08 100644 --- a/bridge.c +++ b/bridge.c @@ -194,13 +194,8 @@ void bridge_init(void) void bridge_flush(void) { struct bridge_if *brif, *tmp; - struct bridge_mac *b, *p; - - vlist_for_each_element_safe(&bridge_mac, b, vlist, p) { - vlist_delete(&bridge_mac, &b->vlist); - free(b); - } + vlist_flush_all(&bridge_mac); list_for_each_entry_safe(brif, tmp, &bridge_if, list) { list_del(&brif->list); free(brif);