From: Alexander Ivanov <alexander.iva...@virtuozzo.com> Set local_err to NULL after it has been freed in error_report_err(). This avoids triggering assert(*errp == NULL) failure in error_setv() when local_err is reused in the loop.
Signed-off-by: Alexander Ivanov <alexander.iva...@virtuozzo.com> Reviewed-by: Claudio Fontana <cfont...@suse.de> Reviewed-by: Denis V. Lunev <d...@openvz.org> Link: https://lore.kernel.org/r/20240809121340.992049-2-alexander.iva...@virtuozzo.com [Do the same by moving the declaration instead. - Paolo] Cc: qemu-sta...@nongnu.org Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> (cherry picked from commit 940d802b24e63650e0eacad3714e2ce171cba17c) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/util/module.c b/util/module.c index 32e263163c..3eb0f06df1 100644 --- a/util/module.c +++ b/util/module.c @@ -354,13 +354,13 @@ int module_load_qom(const char *type, Error **errp) void module_load_qom_all(void) { const QemuModinfo *modinfo; - Error *local_err = NULL; if (module_loaded_qom_all) { return; } for (modinfo = module_info; modinfo->name != NULL; modinfo++) { + Error *local_err = NULL; if (!modinfo->objs) { continue; } -- 2.39.2