From: Andrew Cooper Date: Sat, 10 May 2014 01:18:33 +0000 (+0100) Subject: tools/pygrub: Fix error handling if no valid partitions are found X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~5027 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d75215805ce6ed20b3807955fab6a7f7a3368bee;p=xen.git tools/pygrub: Fix error handling if no valid partitions are found If no partitions at all are found, pygrub never creates the name 'fs', resulting in a NameError indicating the lack of fs, rather than a RuntimeError explaining that no partitions were found. Set fs to None right at the start, and use the pythonic idiom "if fs is None:" to protect against otherwise valid values for fs which compare equal to 0/False. Reported-by: Sven Köhler Signed-off-by: Andrew Cooper CC: Ian Campbell Acked-by: Ian Jackson --- diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub index 54feceeac8..4c35f9d10d 100644 --- a/tools/pygrub/src/pygrub +++ b/tools/pygrub/src/pygrub @@ -747,7 +747,7 @@ if __name__ == "__main__": usage() sys.exit(1) file = args[0] - + fs = None output = None entry = None interactive = True @@ -869,7 +869,7 @@ if __name__ == "__main__": sys.exit(0) # Did looping through partitions find us a kernel? - if not fs: + if fs is None: raise RuntimeError, "Unable to find partition containing kernel" bootcfg["kernel"] = copy_from_image(fs, chosencfg["kernel"], "kernel",