diff options
| author | Kirk McKusick <mckusick@FreeBSD.org> | 2014-03-12 01:28:21 +0000 |
|---|---|---|
| committer | Kirk McKusick <mckusick@FreeBSD.org> | 2014-03-12 01:28:21 +0000 |
| commit | e2f4949a4a9a6a91d56e30603c1576045ef4d43c (patch) | |
| tree | 0ea9e55e391cc8de48278a15fe8aca8a2d4eaab4 /sbin | |
| parent | 22b8ff24b5d4388b63e13b318f0eff6bab83f930 (diff) | |
Notes
Diffstat (limited to 'sbin')
| -rw-r--r-- | sbin/fsck_ffs/fsutil.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/sbin/fsck_ffs/fsutil.c b/sbin/fsck_ffs/fsutil.c index 5fe09a0c2dcc..bc80e2f3e322 100644 --- a/sbin/fsck_ffs/fsutil.c +++ b/sbin/fsck_ffs/fsutil.c @@ -436,13 +436,15 @@ ckfini(int markclean) } if (numbufs != cnt) errx(EEXIT, "panic: lost %d buffers", numbufs - cnt); - for (cnt = 0; cnt < sblock.fs_ncg; cnt++) { - if (cgbufs[cnt].b_un.b_cg == NULL) - continue; - flush(fswritefd, &cgbufs[cnt]); - free(cgbufs[cnt].b_un.b_cg); + if (cgbufs != NULL) { + for (cnt = 0; cnt < sblock.fs_ncg; cnt++) { + if (cgbufs[cnt].b_un.b_cg == NULL) + continue; + flush(fswritefd, &cgbufs[cnt]); + free(cgbufs[cnt].b_un.b_cg); + } + free(cgbufs); } - free(cgbufs); pbp = pdirbp = (struct bufarea *)0; if (cursnapshot == 0 && sblock.fs_clean != markclean) { if ((sblock.fs_clean = markclean) != 0) { |
