Module Name: src Committed By: christos Date: Thu Jan 21 17:14:05 UTC 2016
Modified Files: src/sys/arch/powerpc/stand/mkbootimage: mkbootimage.c Log Message: PR/50685: David Binderman: fix memory leak To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 \ src/sys/arch/powerpc/stand/mkbootimage/mkbootimage.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/powerpc/stand/mkbootimage/mkbootimage.c diff -u src/sys/arch/powerpc/stand/mkbootimage/mkbootimage.c:1.18 src/sys/arch/powerpc/stand/mkbootimage/mkbootimage.c:1.19 --- src/sys/arch/powerpc/stand/mkbootimage/mkbootimage.c:1.18 Tue Apr 22 17:37:52 2014 +++ src/sys/arch/powerpc/stand/mkbootimage/mkbootimage.c Thu Jan 21 12:14:05 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: mkbootimage.c,v 1.18 2014/04/22 21:37:52 phx Exp $ */ +/* $NetBSD: mkbootimage.c,v 1.19 2016/01/21 17:14:05 christos Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -336,7 +336,7 @@ prep_build_image(char *kernel, char *boo lseek(prep_fd, 0x400, SEEK_SET); /* Copy boot image */ - elf_img = (unsigned char *)malloc(elf_img_len); + elf_img = malloc(elf_img_len); if (!elf_img) errx(3, "Can't malloc: %s", strerror(errno)); if (read(elf_fd, elf_img, elf_img_len) != elf_img_len) @@ -347,7 +347,7 @@ prep_build_image(char *kernel, char *boo if (inkernflag) { /* Copy kernel */ - kern_img = (unsigned char *)malloc(kern_stat.st_size); + kern_img = malloc(kern_stat.st_size); if (kern_img == NULL) errx(3, "Can't malloc: %s", strerror(errno)); @@ -502,7 +502,7 @@ rs6000_build_image(char *kernel, char *b lseek(rs6000_fd, 0x400, SEEK_SET); /* Copy boot image */ - elf_img = (unsigned char *)malloc(elf_img_len); + elf_img = malloc(elf_img_len); if (!elf_img) errx(3, "Can't malloc: %s", strerror(errno)); if (read(elf_fd, elf_img, elf_img_len) != elf_img_len) @@ -516,7 +516,7 @@ rs6000_build_image(char *kernel, char *b lseek(rs6000_fd, elf_pad, SEEK_CUR); /* Copy kernel */ - kern_img = (unsigned char *)malloc(kern_stat.st_size); + kern_img = malloc(kern_stat.st_size); if (kern_img == NULL) errx(3, "Can't malloc: %s", strerror(errno)); @@ -735,7 +735,7 @@ bebox_build_image(char *kernel, char *bo bebox_write_header(bebox_fd, elf_img_len, kern_stat.st_size); /* Copy kernel */ - kern_img = (unsigned char *)malloc(kern_stat.st_size); + kern_img = malloc(kern_stat.st_size); if (kern_img == NULL) errx(3, "Can't malloc: %s", strerror(errno)); @@ -786,7 +786,7 @@ bebox_build_image(char *kernel, char *bo toff = bebox_write_header(bebox_fd, elf_img_len, tmp); /* Copy boot image */ - elf_img = (unsigned char *)malloc(elf_img_len); + elf_img = malloc(elf_img_len); if (!elf_img) errx(3, "Can't malloc: %s", strerror(errno)); if (read(elf_fd, elf_img, elf_img_len) != elf_img_len) @@ -802,7 +802,7 @@ bebox_build_image(char *kernel, char *bo /* Now go back and write in the block header */ endoff = lseek(bebox_fd, 0, SEEK_END); lseek(bebox_fd, 0, SEEK_SET); - header_img = (unsigned char *)malloc(BEBOX_HEADER_SIZE); + header_img = malloc(BEBOX_HEADER_SIZE); if (!header_img) errx(3, "Can't malloc: %s", strerror(errno)); memset(header_img, 0, BEBOX_HEADER_SIZE); @@ -837,6 +837,7 @@ bebox_build_image(char *kernel, char *bo write(bebox_fd, header_img, flength - endoff); close(bebox_fd); + free(header_img); return 0; }