Module Name: src Committed By: martin Date: Tue Jun 21 15:45:03 UTC 2022
Modified Files: src/usr.sbin/sysinst: label.c Log Message: renumber_partitions() needs to deal with removed/added partitions. To generate a diff of this commit: cvs rdiff -u -r1.39 -r1.40 src/usr.sbin/sysinst/label.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/label.c diff -u src/usr.sbin/sysinst/label.c:1.39 src/usr.sbin/sysinst/label.c:1.40 --- src/usr.sbin/sysinst/label.c:1.39 Mon Jun 20 16:06:38 2022 +++ src/usr.sbin/sysinst/label.c Tue Jun 21 15:45:03 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: label.c,v 1.39 2022/06/20 16:06:38 martin Exp $ */ +/* $NetBSD: label.c,v 1.40 2022/06/21 15:45:03 martin Exp $ */ /* * Copyright 1997 Jonathan Stone @@ -36,7 +36,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: label.c,v 1.39 2022/06/20 16:06:38 martin Exp $"); +__RCSID("$NetBSD: label.c,v 1.40 2022/06/21 15:45:03 martin Exp $"); #endif #include <sys/types.h> @@ -508,7 +508,7 @@ renumber_partitions(struct partition_usa if (!pset->parts->pscheme->get_part_info(pset->parts, pno, &info)) continue; - for (i = 0; i < pset->parts->num_part; i++) { + for (i = 0; i < pset->num; i++) { if (pset->infos[i].cur_start != info.start) continue; if (pset->infos[i].cur_flags != info.flags) @@ -525,8 +525,9 @@ renumber_partitions(struct partition_usa } } - memcpy(pset->infos, ninfos, sizeof(*pset->infos)*pset->parts->num_part); - free(ninfos); + free(pset->infos); + pset->infos = ninfos; + pset->num = pset->parts->num_part; } /*