]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
tools/pygrub: Fix error handling if no valid partitions are found
authorAndrew Cooper <andrew.cooper3@citrix.com>
Sat, 10 May 2014 01:18:33 +0000 (02:18 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Mon, 12 May 2014 14:52:43 +0000 (15:52 +0100)
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 <sven.koehler@gmail.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/pygrub/src/pygrub

index 54feceeac87fc8bce10aea4d3e4f07e0f7a61206..4c35f9d10d2a4421991bc0e39927f30fcc01b674 100644 (file)
@@ -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",