]> git.proxmox.com Git - mirror_edk2.git/commitdiff
FmpDevicePkg/FmpDependencyLib: Handle version string overflow
authorMichael Kubacki <michael.kubacki@microsoft.com>
Thu, 6 Aug 2020 19:05:38 +0000 (12:05 -0700)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 7 Aug 2020 02:30:01 +0000 (02:30 +0000)
This change recognizes the condition of the DEPEX version string
extending beyond the end of the dependency expression as an error.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.com>
Cc: Wei6 Xu <wei6.xu@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Guomin Jiang <guomin.jiang@intel.com>
Reviewed-by: Wei6 Xu <wei6.xu@intel.com>
FmpDevicePkg/Library/FmpDependencyLib/FmpDependencyLib.c

index ba89eb22d9f0de50d43bcc2b95573712a83c2693..5ef25d2415cf5c59910d1cab6922406aea19c99d 100644 (file)
@@ -286,6 +286,7 @@ EvaluateDependency (
       Iterator += AsciiStrnLenS ((CHAR8 *) Iterator, DependenciesSize - (Iterator - Dependencies->Dependencies));\r
       if (Iterator == (UINT8 *) Dependencies->Dependencies + DependenciesSize) {\r
         DEBUG ((DEBUG_ERROR, "EvaluateDependency: STRING extends beyond end of dependency expression!\n"));\r
+        goto Error;\r
       }\r
       break;\r
     case EFI_FMP_DEP_AND:\r