Matthew Daley
2012-Nov-12 06:33 UTC
[PATCH] pygrub: Fix command line argument error handling
pygrub''s individual config file parsers do not correctly check the amount of command line arguments given to them. In addition, the LILO config parser would report an incorrect message. Use len() to correctly check the amount of arguments, and fix the LILO error message. Signed-off-by: Matthew Daley <mattjd@gmail.com> diff --git a/tools/pygrub/src/ExtLinuxConf.py b/tools/pygrub/src/ExtLinuxConf.py index 19776a3..510099b 100644 --- a/tools/pygrub/src/ExtLinuxConf.py +++ b/tools/pygrub/src/ExtLinuxConf.py @@ -207,7 +207,7 @@ class ExtLinuxConfigFile(object): } if __name__ == "__main__": - if sys.argv < 2: + if len(sys.argv) < 2: raise RuntimeError, "Need a configuration file to read" g = ExtLinuxConfigFile(sys.argv[1]) for i in g.images: diff --git a/tools/pygrub/src/GrubConf.py b/tools/pygrub/src/GrubConf.py index c4f543d..629951f 100644 --- a/tools/pygrub/src/GrubConf.py +++ b/tools/pygrub/src/GrubConf.py @@ -454,7 +454,7 @@ class Grub2ConfigFile(_GrubConfigFile): } if __name__ == "__main__": - if sys.argv < 3: + if len(sys.argv) < 3: raise RuntimeError, "Need a grub version (\"grub\" or \"grub2\") and a grub.conf or grub.cfg to read" if sys.argv[1] == "grub": g = GrubConfigFile(sys.argv[2]) diff --git a/tools/pygrub/src/LiloConf.py b/tools/pygrub/src/LiloConf.py index 9858ae2..2cb649f 100644 --- a/tools/pygrub/src/LiloConf.py +++ b/tools/pygrub/src/LiloConf.py @@ -169,8 +169,8 @@ class LiloConfigFile(object): } if __name__ == "__main__": - if sys.argv < 2: - raise RuntimeError, "Need a grub.conf to read" + if len(sys.argv) < 2: + raise RuntimeError, "Need a lilo.conf to read" g = LiloConfigFile(sys.argv[1]) for i in g.images: print i #, i.title, i.root, i.kernel, i.args, i.initrd -- 1.7.10.4
Ian Campbell
2012-Nov-12 17:03 UTC
Re: [PATCH] pygrub: Fix command line argument error handling
On Mon, 2012-11-12 at 06:33 +0000, Matthew Daley wrote:> pygrub''s individual config file parsers do not correctly check the > amount of command line arguments given to them. In addition, the LILO > config parser would report an incorrect message. > > Use len() to correctly check the amount of arguments, and fix the LILO > error message. > > Signed-off-by: Matthew Daley <mattjd@gmail.com>Acked-by: Ian Campbell <ian.campbell@citrix.com> and applied, thanks.