git: 9b4c606b96ce - main - bsdinstall/partedit: Fix UFS auto partitioning

From: Alfonso S. Siciliano <asiciliano_at_FreeBSD.org>
Date: Fri, 29 Apr 2022 23:24:56 UTC
The branch main has been updated by asiciliano:

URL: https://cgit.FreeBSD.org/src/commit/?id=9b4c606b96ce8a8b011dc50295c71c38741a0f4f

commit 9b4c606b96ce8a8b011dc50295c71c38741a0f4f
Author:     Alfonso S. Siciliano <asiciliano@FreeBSD.org>
AuthorDate: 2022-04-29 23:19:30 +0000
Commit:     Alfonso S. Siciliano <asiciliano@FreeBSD.org>
CommitDate: 2022-04-29 23:24:23 +0000

    bsdinstall/partedit: Fix UFS auto partitioning
    
    Fix bsdinstall "Auto (UFS) Guided Disk Setup" and sade(8) "Auto".
    The problem is a string comparison failure, it arose during the
    dialog(3)/bsddialog(3) form conversion:
    
     * dialog uses only form.text while bsdialog differentiates between
       form.init and form.value.
     * dialog always allocates memory for form values while bsddialog only
       when a button is pressed.
    
    Reviewed by:            bapt
    Differential Revision:  https://reviews.freebsd.org/D35033
---
 usr.sbin/bsdinstall/partedit/gpart_ops.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/usr.sbin/bsdinstall/partedit/gpart_ops.c b/usr.sbin/bsdinstall/partedit/gpart_ops.c
index 65cda247e146..26aedb58ef39 100644
--- a/usr.sbin/bsdinstall/partedit/gpart_ops.c
+++ b/usr.sbin/bsdinstall/partedit/gpart_ops.c
@@ -1154,6 +1154,12 @@ addpartform:
 			init_allocated = true;
 			goto addpartform;
 		}
+	} else { /* auto partitioning */
+		items[0].value = strdup(items[0].init);
+		items[1].value = strdup(items[1].init);
+		items[2].value = strdup(items[2].init);
+		if (nitems > 3)
+			items[3].value = strdup(items[3].init);
 	}
 
 	/*