Commited. Thanks. On Sun, 1 Jun 2014, Benjamin Baier wrote: > On Sun, 1 Jun 2014 00:57:43 +1000 > > Joel Sing <j...@sing.id.au> wrote: > > In this case I think readability wins. I do not believe that there is a > > lot to gain from overflow protection given the numbers used in these > > calculations are very small (and many are already bounds checked in some > > form or other). > > Well, I had to ask. Here is option 2. > > Index: bootstrap.c > =================================================================== > RCS file: /cvs/src/usr.sbin/installboot/bootstrap.c,v > retrieving revision 1.3 > diff -u -p -r1.3 bootstrap.c > --- bootstrap.c 28 Dec 2013 12:01:33 -0000 1.3 > +++ bootstrap.c 31 May 2014 18:14:56 -0000 > @@ -68,10 +68,9 @@ bootstrap(int devfd, char *dev, char *bo > fprintf(stderr, "bootstrap is %zu bytes " > "(%zu sectors @ %u bytes = %zu bytes)\n", > (ssize_t)sb.st_size, bootsec, dl.d_secsize, bootsize); > - boot = malloc(bootsize); > + boot = calloc(1, bootsize); > if (boot == NULL) > - err(1, "malloc"); > - memset(boot, 0, bootsize); > + err(1, "calloc"); > if (read(fd, boot, bootsize) != (ssize_t)sb.st_size) > err(1, "read"); > close(fd); > Index: i386_softraid.c > =================================================================== > RCS file: /cvs/src/usr.sbin/installboot/i386_softraid.c,v > retrieving revision 1.1 > diff -u -p -r1.1 i386_softraid.c > --- i386_softraid.c 19 Jan 2014 02:58:50 -0000 1.1 > +++ i386_softraid.c 31 May 2014 18:14:56 -0000 > @@ -129,11 +129,10 @@ sr_install_bootldr(int devfd, char *dev) > inodeblk = nblocks - 1; > bootsize = nblocks * SR_FS_BLOCKSIZE; > > - p = malloc(bootsize); > + p = calloc(1, bootsize); > if (p == NULL) > err(1, NULL); > > - memset(p, 0, bootsize); > fd = open(stage2, O_RDONLY, 0); > if (fd == -1) > err(1, NULL); > Index: sparc64_installboot.c > =================================================================== > RCS file: /cvs/src/usr.sbin/installboot/sparc64_installboot.c,v > retrieving revision 1.1 > diff -u -p -r1.1 sparc64_installboot.c > --- sparc64_installboot.c 19 Jan 2014 02:58:50 -0000 1.1 > +++ sparc64_installboot.c 31 May 2014 18:14:56 -0000 > @@ -68,10 +68,9 @@ md_loadboot(void) > if (blksize > SBSIZE - DEV_BSIZE) > errx(1, "boot blocks too big (%zu > %d)", > blksize, SBSIZE - DEV_BSIZE); > - blkstore = malloc(blksize); > + blkstore = calloc(1, blksize); > if (blkstore == NULL) > - err(1, "malloc"); > - memset(blkstore, 0, blksize); > + err(1, "calloc"); > if (read(fd, blkstore, sb.st_size) != (ssize_t)sb.st_size) > err(1, "read"); > close(fd);
-- "Action without study is fatal. Study without action is futile." -- Mary Ritter Beard