From: Andrey Albershteyn Date: Tue, 23 Apr 2024 12:36:16 +0000 (+0200) Subject: xfs_scrub: don't call phase_end if phase_rusage was not initialized X-Git-Tag: v6.8.0~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c4dd920b8a8900046e0785e55a43c7190b82c59a;p=thirdparty%2Fxfsprogs-dev.git xfs_scrub: don't call phase_end if phase_rusage was not initialized If unicrash_load() fails, all_pi can be used uninitialized in phase_end(). Fix it by going to the unload: section if unicrash_load fails and just go with unicrash_unload() (the is_service won't be initialized here). Reviewed-by: Darrick J. Wong Reviewed-by: Bill O'Donnell Reviewed-by: Christoph Hellwig Signed-off-by: Andrey Albershteyn --- diff --git a/scrub/xfs_scrub.c b/scrub/xfs_scrub.c index 752180d6..50565857 100644 --- a/scrub/xfs_scrub.c +++ b/scrub/xfs_scrub.c @@ -631,7 +631,7 @@ main( fprintf(stderr, _("%s: couldn't initialize Unicode library.\n"), progname); - goto out; + goto out_unicrash; } pthread_mutex_init(&ctx.lock, NULL); @@ -828,6 +828,7 @@ out: phase_end(&all_pi, 0); if (progress_fp) fclose(progress_fp); +out_unicrash: unicrash_unload(); /*