git: b2af9ad17124 - stable/13 - Correctness cleanups in fsck_ffs(8).
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 04 Dec 2022 06:10:57 UTC
The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=b2af9ad171243a897a341ec3aefc5f2ea099e336 commit b2af9ad171243a897a341ec3aefc5f2ea099e336 Author: Kirk McKusick <mckusick@FreeBSD.org> AuthorDate: 2022-08-13 20:27:37 +0000 Commit: Kirk McKusick <mckusick@FreeBSD.org> CommitDate: 2022-12-04 05:46:51 +0000 Correctness cleanups in fsck_ffs(8). (cherry picked from commit 6e821c35d68d4041640b27419837464ffab65cff) Sponsored by: The FreeBSD Foundation --- sbin/fsck_ffs/inode.c | 3 +++ sbin/fsck_ffs/setup.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/sbin/fsck_ffs/inode.c b/sbin/fsck_ffs/inode.c index dafc99bd92da..ccfe8782ac88 100644 --- a/sbin/fsck_ffs/inode.c +++ b/sbin/fsck_ffs/inode.c @@ -474,6 +474,9 @@ void irelse(struct inode *ip) { + /* Check for failed inode read */ + if (ip->i_bp == NULL) + return; if (ip->i_bp->b_refcnt <= 0) pfatal("irelse: releasing unreferenced ino %ju\n", (uintmax_t) ip->i_number); diff --git a/sbin/fsck_ffs/setup.c b/sbin/fsck_ffs/setup.c index 14b34962d3fe..05c044395436 100644 --- a/sbin/fsck_ffs/setup.c +++ b/sbin/fsck_ffs/setup.c @@ -174,6 +174,7 @@ setup(char *dev) /* * allocate and initialize the necessary maps */ + bufinit(); bmapsize = roundup(howmany(maxfsblock, CHAR_BIT), sizeof(short)); blockmap = Calloc((unsigned)bmapsize, sizeof (char)); if (blockmap == NULL) { @@ -198,7 +199,6 @@ setup(char *dev) (uintmax_t)numdirs * sizeof(struct inoinfo *)); goto badsb; } - bufinit(); if (sblock.fs_flags & FS_DOSOFTDEP) usedsoftdep = 1; else