From: Kinney, Michael D Date: Fri, 27 Jul 2018 19:27:19 +0000 (-0700) Subject: BaseTools/Capsule: Add max value checks to Capsule Generation tools X-Git-Tag: edk2-stable201903~1300 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=6ed4651cb560caba91a989550734206f01ffd7d1 BaseTools/Capsule: Add max value checks to Capsule Generation tools https://bugzilla.tianocore.org/show_bug.cgi?id=1021 https://bugzilla.tianocore.org/show_bug.cgi?id=1022 https://bugzilla.tianocore.org/show_bug.cgi?id=1026 Cc: Sean Brogan Cc: Jiewen Yao Cc: Yonghong Zhu Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney Reviewed-by: Yonghong Zhu --- diff --git a/BaseTools/Source/Python/Capsule/GenerateCapsule.py b/BaseTools/Source/Python/Capsule/GenerateCapsule.py index 4018dc0420..5398c12a9c 100644 --- a/BaseTools/Source/Python/Capsule/GenerateCapsule.py +++ b/BaseTools/Source/Python/Capsule/GenerateCapsule.py @@ -298,6 +298,12 @@ if __name__ == '__main__': parser.error ('--capflag PopulateSystemTable also requires --capflag PersistAcrossReset') if 'InitiateReset' in args.CapsuleFlag: parser.error ('--capflag InitiateReset also requires --capflag PersistAcrossReset') + if args.CapsuleOemFlag > 0xFFFF: + parser.error ('--capoemflag must be an integer between 0x0000 and 0xffff') + if args.HardwareInstance > 0xFFFFFFFFFFFFFFFF: + parser.error ('--hardware-instance must be an integer in range 0x0..0xffffffffffffffff') + if args.MonotonicCount > 0xFFFFFFFFFFFFFFFF: + parser.error ('--monotonic-count must be an integer in range 0x0..0xffffffffffffffff') UseSignTool = args.SignToolPfxFile is not None UseOpenSsl = (args.OpenSslSignerPrivateCertFile is not None and @@ -319,6 +325,10 @@ if __name__ == '__main__': if args.Encode and (UseSignTool or UseOpenSsl): if args.FwVersion is None or args.LowestSupportedVersion is None: parser.error ('the following options are required: --fw-version, --lsv') + if args.FwVersion > 0xFFFFFFFF: + parser.error ('--fw-version must be an integer in range 0x0..0xffffffff') + if args.LowestSupportedVersion > 0xFFFFFFFF: + parser.error ('--lsv must be an integer in range 0x0..0xffffffff') if UseSignTool: args.SignToolPfxFile.close()