]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Capsule/GenerateCapsule.py
BaseTools/Capsule: Add max value checks to Capsule Generation tools
[mirror_edk2.git] / BaseTools / Source / Python / Capsule / GenerateCapsule.py
index 4018dc0420d492dce192a9d6067500c62132030e..5398c12a9c9ca388d464c7c682e00068d5aaa61c 100644 (file)
@@ -298,6 +298,12 @@ if __name__ == '__main__':
                 parser.error ('--capflag PopulateSystemTable also requires --capflag PersistAcrossReset')\r
             if 'InitiateReset' in args.CapsuleFlag:\r
                 parser.error ('--capflag InitiateReset also requires --capflag PersistAcrossReset')\r
+        if args.CapsuleOemFlag > 0xFFFF:\r
+            parser.error ('--capoemflag must be an integer between 0x0000 and 0xffff')\r
+        if args.HardwareInstance > 0xFFFFFFFFFFFFFFFF:\r
+            parser.error ('--hardware-instance must be an integer in range 0x0..0xffffffffffffffff')\r
+        if args.MonotonicCount > 0xFFFFFFFFFFFFFFFF:\r
+            parser.error ('--monotonic-count must be an integer in range 0x0..0xffffffffffffffff')\r
 \r
     UseSignTool = args.SignToolPfxFile is not None\r
     UseOpenSsl  = (args.OpenSslSignerPrivateCertFile is not None and\r
@@ -319,6 +325,10 @@ if __name__ == '__main__':
         if args.Encode and (UseSignTool or UseOpenSsl):\r
             if args.FwVersion is None or args.LowestSupportedVersion is None:\r
                 parser.error ('the following options are required: --fw-version, --lsv')\r
+            if args.FwVersion > 0xFFFFFFFF:\r
+                parser.error ('--fw-version must be an integer in range 0x0..0xffffffff')\r
+            if args.LowestSupportedVersion > 0xFFFFFFFF:\r
+                parser.error ('--lsv must be an integer in range 0x0..0xffffffff')\r
 \r
         if UseSignTool:\r
             args.SignToolPfxFile.close()\r