Date: Mon, 10 Mar 2014 12:00:01 GMT From: Petr Lampa <lampa@fit.vutbr.cz> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/187221: fsck_ufs -p segmentation fault with SU+J Message-ID: <201403101200.s2AC01nt061535@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/187221; it has been noted by GNATS. From: Petr Lampa <lampa@fit.vutbr.cz> To: bug-followup@FreeBSD.org Cc: mckusick@mckusick.com Subject: Re: bin/187221: fsck_ufs -p segmentation fault with SU+J Date: Mon, 10 Mar 2014 12:43:11 +0100 Simple fix, fsck -p runs without sigsegv now: --- fsutil.c 2013-07-10 17:04:10.000000000 +0200 +++ fsutil.c.my 2014-03-10 12:33:55.000000000 +0100 @@ -414,13 +414,15 @@ } 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) { + 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) { Petr Lampa -- Computer Centre E-mail: lampa@fit.vutbr.cz Faculty of Information Technology Web: http://www.fit.vutbr.cz/ Brno University of Technology Fax: +420 54114-1270 Bozetechova 2, 612 66 Brno, Czech Republic Phone: +420 54114-1225
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403101200.s2AC01nt061535>