summaryrefslogtreecommitdiffstats
path: root/release/sysinstall/disks.c
diff options
context:
space:
mode:
Diffstat (limited to 'release/sysinstall/disks.c')
-rw-r--r--release/sysinstall/disks.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c
index fb66e3a..b4f0900 100644
--- a/release/sysinstall/disks.c
+++ b/release/sysinstall/disks.c
@@ -189,7 +189,8 @@ diskPartition(Device *dev, Disk *d)
char *val, geometry[80];
/* Now print our overall state */
- print_chunks(d);
+ if (d)
+ print_chunks(d);
print_command_summary();
if (msg) {
attrset(title_attr); mvprintw(23, 0, msg); attrset(A_NORMAL);
@@ -357,17 +358,18 @@ diskPartition(Device *dev, Disk *d)
"can't undo it.");
}
else if (!msgYesNo("Are you SURE you want to Undo everything?")) {
- d = Open_Disk(d->name);
- if (!d) {
- msgConfirm("Can't reopen disk %s! Internal state is probably corrupted", d->name);
- clear();
- break;
- }
+ char cp[BUFSIZ];
+
+ sstrncpy(cp, d->name, sizeof cp);
Free_Disk(dev->private);
+ d = Open_Disk(cp);
+ if (!d)
+ msgConfirm("Can't reopen disk %s! Internal state is probably corrupted", cp);
dev->private = d;
variable_unset(DISK_PARTITIONED);
variable_unset(DISK_LABELLED);
- record_chunks(d);
+ if (d)
+ record_chunks(d);
}
clear();
break;
OpenPOWER on IntegriCloud