summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--serverboot/ChangeLog3
-rw-r--r--serverboot/bootstrap.c6
2 files changed, 5 insertions, 4 deletions
diff --git a/serverboot/ChangeLog b/serverboot/ChangeLog
index 3b25fce8..3b878676 100644
--- a/serverboot/ChangeLog
+++ b/serverboot/ChangeLog
@@ -2,7 +2,8 @@
* bootstrap.c: (DEFAULT_ROOT): Remove macro.
(main): If no root device was specified, then prompt as if the
- user had specified -a.
+ user had specified -a. Don't use strcpy to move NEW_ROOT into
+ ROOT_NAME; that's unsafe.
1999-10-06 Roland McGrath <roland@baalperazim.frob.com>
diff --git a/serverboot/bootstrap.c b/serverboot/bootstrap.c
index 69e4f892..f6d6050a 100644
--- a/serverboot/bootstrap.c
+++ b/serverboot/bootstrap.c
@@ -237,14 +237,14 @@ main(argc, argv)
* root device was specificed, ask for the root device.
*/
- if (root_name [0] == '\0' || index(flag_string, 'a')) {
+ if (!root_name || root_name [0] == '\0' || index(flag_string, 'a')) {
static char new_root[16];
-
+
printf("root device? [%s] ", root_name);
safe_gets(new_root, sizeof(new_root));
if (new_root[0] != '\0')
- strcpy (root_name, new_root);
+ root_name = new_root;
}
(void) strbuild(boot_script_name,