Use reallocarray() in a few places in sys.

Index: sys/arch/hppa/stand/mkboot/mkboot.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa/stand/mkboot/mkboot.c,v
retrieving revision 1.18
diff -u -p -d -r1.18 mkboot.c
--- sys/arch/hppa/stand/mkboot/mkboot.c 22 Jan 2014 09:18:04 -0000      1.18
+++ sys/arch/hppa/stand/mkboot/mkboot.c 22 Jul 2014 01:11:23 -0000
@@ -204,10 +204,11 @@ putfile(char *from_file, int to)
                if (n != sizeof (elf_header))
                        err(1, "%s: reading ELF header", from_file);
                header_count = ntohs(elf_header.e_phnum);
-               memory_needed = header_count * sizeof (*elf_segments);
-               elf_segments = malloc(memory_needed);
+               elf_segments = reallocarray(NULL, header_count,
+                   sizeof(*elf_segments));
                if (elf_segments == NULL)
                        err(1, "malloc");
+               memory_needed = header_count * sizeof(*elf_segments);
                (void) lseek(from, ntohl(elf_header.e_phoff), SEEK_SET);
                n = read(from, elf_segments, memory_needed);
                if (n != memory_needed)
Index: sys/arch/hppa64/stand/mkboot/mkboot.c
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/stand/mkboot/mkboot.c,v
retrieving revision 1.4
diff -u -p -d -r1.4 mkboot.c
--- sys/arch/hppa64/stand/mkboot/mkboot.c       22 Jan 2014 09:26:55 -0000      
1.4
+++ sys/arch/hppa64/stand/mkboot/mkboot.c       22 Jul 2014 01:11:24 -0000
@@ -204,10 +204,11 @@ putfile(char *from_file, int to)
                if (n != sizeof (elf_header))
                        err(1, "%s: reading ELF header", from_file);
                header_count = betoh32(elf_header.e_phnum);
-               memory_needed = header_count * sizeof (*elf_segments);
-               elf_segments = malloc(memory_needed);
+               elf_segments = reallocarray(NULL, header_count,
+                   sizeof(*elf_segments));
                if (elf_segments == NULL)
                        err(1, "malloc");
+               memory_needed = header_count * sizeof(*elf_segments);
                (void) lseek(from, betoh32(elf_header.e_phoff), SEEK_SET);
                n = read(from, elf_segments, memory_needed);
                if (n != memory_needed)
Index: sys/dev/microcode/bwi/extract/extract.c
===================================================================
RCS file: /cvs/src/sys/dev/microcode/bwi/extract/extract.c,v
retrieving revision 1.3
diff -u -p -d -r1.3 extract.c
--- sys/dev/microcode/bwi/extract/extract.c     12 Jul 2014 19:01:49 -0000      
1.3
+++ sys/dev/microcode/bwi/extract/extract.c     22 Jul 2014 01:14:43 -0000
@@ -53,7 +53,7 @@ main(int argc, char *argv[])
        nfiles = ntohl(nfiles);
 
        /* allocate space for header struct */
-       if ((h = malloc(nfiles * sizeof(*h))) == NULL)
+       if ((h = reallocarray(NULL, nfiles, sizeof(*h))) == NULL)
                err(1, "malloc");
        for (i = 0; i < nfiles; i++) {
                if ((h[i] = malloc(sizeof(struct header))) == NULL)

Reply via email to