diff options
Diffstat (limited to 'usr.sbin/sysinstall/dist.c')
-rw-r--r-- | usr.sbin/sysinstall/dist.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/sysinstall/dist.c b/usr.sbin/sysinstall/dist.c index 5ada8b7..f54a2de 100644 --- a/usr.sbin/sysinstall/dist.c +++ b/usr.sbin/sysinstall/dist.c @@ -630,7 +630,8 @@ distExtract(char *parent, Distribution *me) getinfo: fp = mediaDevice->get(mediaDevice, buf, TRUE); intr = check_for_interrupt(); - if (fp == (FILE *)IO_ERROR || intr) { /* Hard error, can't continue */ + if (fp == (FILE *)IO_ERROR || intr || !mediaDevice) { + /* Hard error, can't continue */ if (!msgYesNo("Unable to open %s: %s.\nReinitialize media?", buf, !intr ? "I/O error." : "User interrupt.")) { mediaDevice->shutdown(mediaDevice); @@ -676,7 +677,8 @@ distExtract(char *parent, Distribution *me) getsingle: fp = mediaDevice->get(mediaDevice, buf, TRUE); intr = check_for_interrupt(); - if (fp == (FILE *)IO_ERROR || intr) { /* Hard error, can't continue */ + if (fp == (FILE *)IO_ERROR || intr || !mediaDevice) { + /* Hard error, can't continue */ if (intr) /* result of an interrupt */ msgConfirm("Unable to open %s: User interrupt", buf); else |