diff options
| author | martin <martin@NetBSD.org> | 2022-06-21 15:45:03 +0000 |
|---|---|---|
| committer | martin <martin@NetBSD.org> | 2022-06-21 15:45:03 +0000 |
| commit | bd383ef2b30536d0cf68366fcb10f98fc7aef555 (patch) | |
| tree | de2e3a8eda000594abecbb9d618460334877ac8b /usr.sbin/sysinst | |
| parent | 6d686ad573e376f4571c15f6c3d7283eae34ce7e (diff) | |
renumber_partitions() needs to deal with removed/added partitions.
Diffstat (limited to 'usr.sbin/sysinst')
| -rw-r--r-- | usr.sbin/sysinst/label.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/usr.sbin/sysinst/label.c b/usr.sbin/sysinst/label.c index e125ed5b8ec..22eee727a72 100644 --- a/usr.sbin/sysinst/label.c +++ b/usr.sbin/sysinst/label.c @@ -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_usage_set *pset) 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_usage_set *pset) } } - 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; } /* |
