Avoid dereferencing null pointers in fsck_ffs. (pfatal may return,
so it isn't a safe way of handling [mc]alloc failures.) PR: misc/61800 Approved by: rwatson (mentor)
This commit is contained in:
parent
211326affc
commit
96e3efc09f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=125036
@ -141,7 +141,7 @@ pass1(void)
|
||||
}
|
||||
info = calloc((unsigned)inosused, sizeof(struct inostat));
|
||||
if (info == NULL)
|
||||
pfatal("cannot alloc %u bytes for inoinfo\n",
|
||||
errx(EEXIT, "cannot alloc %u bytes for inoinfo",
|
||||
(unsigned)(sizeof(struct inostat) * inosused));
|
||||
inostathead[c].il_stat = info;
|
||||
/*
|
||||
@ -175,7 +175,7 @@ pass1(void)
|
||||
}
|
||||
info = calloc((unsigned)inosused, sizeof(struct inostat));
|
||||
if (info == NULL)
|
||||
pfatal("cannot alloc %u bytes for inoinfo\n",
|
||||
errx(EEXIT, "cannot alloc %u bytes for inoinfo",
|
||||
(unsigned)(sizeof(struct inostat) * inosused));
|
||||
memmove(info, inostathead[c].il_stat, inosused * sizeof(*info));
|
||||
free(inostathead[c].il_stat);
|
||||
|
@ -227,6 +227,11 @@ setup(char *dev)
|
||||
*/
|
||||
asked = 0;
|
||||
sblock.fs_csp = calloc(1, sblock.fs_cssize);
|
||||
if (sblock.fs_csp == NULL) {
|
||||
printf("cannot alloc %u bytes for cg summary info\n",
|
||||
(unsigned)sblock.fs_cssize);
|
||||
goto badsb;
|
||||
}
|
||||
for (i = 0, j = 0; i < sblock.fs_cssize; i += sblock.fs_bsize, j++) {
|
||||
size = sblock.fs_cssize - i < sblock.fs_bsize ?
|
||||
sblock.fs_cssize - i : sblock.fs_bsize;
|
||||
|
Loading…
Reference in New Issue
Block a user