Add some extra cancel_func protection to QEMUInstall

In livemedia-creator's usage of this it can never pass in None, but if
someone were to import the library and use it, it would crash with
NoneType. So add the extra checks to make sure cancel_func isn't None,
just in case.

(cherry picked from commit 9041174142)
This commit is contained in:
Brian C. Lane 2019-02-19 08:43:21 -08:00
parent cf13e9fd32
commit f6b68cbd3d

View File

@ -249,7 +249,7 @@ class QEMUInstall(object):
log.debug(qemu_cmd) log.debug(qemu_cmd)
try: try:
execWithRedirect(qemu_cmd[0], qemu_cmd[1:], reset_lang=False, raise_err=True, execWithRedirect(qemu_cmd[0], qemu_cmd[1:], reset_lang=False, raise_err=True,
callback=lambda p: not cancel_func()) callback=lambda p: not (cancel_func and cancel_func()))
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
log.error("Running qemu failed:") log.error("Running qemu failed:")
log.error("cmd: %s", " ".join(e.cmd)) log.error("cmd: %s", " ".join(e.cmd))
@ -263,7 +263,7 @@ class QEMUInstall(object):
if boot_uefi and ovmf_path: if boot_uefi and ovmf_path:
os.unlink(ovmf_vars) os.unlink(ovmf_vars)
if cancel_func(): if cancel_func and cancel_func():
log.error("Installation error detected. See logfile for details.") log.error("Installation error detected. See logfile for details.")
raise InstallError("QEMUInstall failed") raise InstallError("QEMUInstall failed")
else: else: