From b947f95c2ce7520bf439386209c95454f1add69e Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 4 Dec 2021 02:57:24 +0100 Subject: [PATCH] debuginfod: Fix debuginfod_pool leak gcc address sanitizer detected a dangling debuginfod_client handler when debuginfod exits. Make sure to groom the debuginfod client pool before exit after all threads are done. Signed-off-by: Mark Wielaard --- debuginfod/ChangeLog | 4 ++++ debuginfod/debuginfod.cxx | 2 ++ 2 files changed, 6 insertions(+) diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog index 0ced28774..7a4840ff6 100644 --- a/debuginfod/ChangeLog +++ b/debuginfod/ChangeLog @@ -1,3 +1,7 @@ +2021-12-04 Mark Wielaard + + * debuginfod.cxx (main): Call debuginfod_pool_groom before exit. + 2021-12-08 Mark Wielaard * debuginfod.cxx (add_mhd_response_header): New function. diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx index 438e874cd..35424e47b 100644 --- a/debuginfod/debuginfod.cxx +++ b/debuginfod/debuginfod.cxx @@ -4021,6 +4021,8 @@ main (int argc, char *argv[]) } } + debuginfod_pool_groom (); + // NB: no problem with unconditional free here - an earlier failed regcomp would exit program (void) regfree (& file_include_regex); (void) regfree (& file_exclude_regex); -- 2.47.3