Module Name: src Committed By: martin Date: Tue Jan 26 14:05:29 UTC 2016
Modified Files: src/usr.sbin/sysinst: disks.c Log Message: David Binderman in PR bin/50713: fix memory leaks To generate a diff of this commit: cvs rdiff -u -r1.11 -r1.12 src/usr.sbin/sysinst/disks.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/sysinst/disks.c diff -u src/usr.sbin/sysinst/disks.c:1.11 src/usr.sbin/sysinst/disks.c:1.12 --- src/usr.sbin/sysinst/disks.c:1.11 Sat Nov 14 23:00:17 2015 +++ src/usr.sbin/sysinst/disks.c Tue Jan 26 14:05:29 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: disks.c,v 1.11 2015/11/14 23:00:17 pgoyette Exp $ */ +/* $NetBSD: disks.c,v 1.12 2016/01/26 14:05:29 martin Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -800,8 +800,11 @@ make_filesystems(void) error = fsck_preen(pm->diskdev, ptn, lbl->fsname); } free(newfs); - if (error != 0) + if (error != 0) { + free(devdev); + free(dev); return error; + } lbl->pi_flags ^= PIF_NEWFS; md_pre_mount(); @@ -813,6 +816,8 @@ make_filesystems(void) if (error) { msg_display(MSG_mountfail, dev, ' ', lbl->pi_mount); process_menu(MENU_ok, NULL); + free(devdev); + free(dev); return error; } } @@ -1055,8 +1060,10 @@ fsck_preen(const char *disk, int ptn, co asprintf(&prog, "/sbin/fsck_%s", fsname); if (prog == NULL) return 0; - if (access(prog, X_OK) != 0) + if (access(prog, X_OK) != 0) { + free(prog); return 0; + } if (!strcmp(fsname,"ffs")) fixsb(prog, disk, ptn); error = run_program(0, "%s -p -q /dev/r%s%c", prog, disk, ptn);