From: Darrick J. Wong <djwong@xxxxxxxxxx> A user reported a crash in xfs_repair when they run it with -vv specified on the command line. Ultimately this harks back to xfs_m in main() containing uninitialized stack contents, and inadequate null checks. Fix both problems in one go. Reported-by: Santiago Kraus <santiago_kraus@xxxxxxxxx> Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> --- repair/progress.c | 2 +- repair/xfs_repair.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/repair/progress.c b/repair/progress.c index 07cf4e4f2..74e7a6719 100644 --- a/repair/progress.c +++ b/repair/progress.c @@ -394,7 +394,7 @@ timestamp( time_t now; struct tm *tmp; - if (verbose > 1 && mp && mp->m_ddev_targp) + if (verbose > 1 && mp && mp->m_ddev_targp && mp->m_ddev_targp->bcache) cache_report(stderr, "libxfs_bcache", mp->m_ddev_targp->bcache); now = time(NULL); diff --git a/repair/xfs_repair.c b/repair/xfs_repair.c index cf7749643..88aa75542 100644 --- a/repair/xfs_repair.c +++ b/repair/xfs_repair.c @@ -1018,7 +1018,7 @@ main(int argc, char **argv) xfs_mount_t *temp_mp; xfs_mount_t *mp; struct xfs_buf *sbp; - xfs_mount_t xfs_m; + struct xfs_mount xfs_m = { }; struct xlog log = {0}; char *msgbuf; struct xfs_sb psb;