This one splits up the malloc parameter, taking full potential from calloc, 
hurting readability a bit.
which one is preferred? more readable/maintainable or using the calloc overflow 
protection?

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 10:26:27 -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(bootsec, dl.d_secsize);
        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 10:26:27 -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(nblocks, SR_FS_BLOCKSIZE);
        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 10:26:27 -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(blocks, DEV_BSIZE);
        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);

Reply via email to