]> git.proxmox.com Git - mirror_edk2.git/commitdiff
IntelFrameworkModulePkg: Fix UEFI and Tiano Decompression logic issue
authorLiming Gao <liming.gao@intel.com>
Thu, 8 Nov 2018 23:58:16 +0000 (07:58 +0800)
committerLiming Gao <liming.gao@intel.com>
Sun, 11 Nov 2018 03:48:37 +0000 (11:48 +0800)
https://bugzilla.tianocore.org/show_bug.cgi?id=1317

This is a regression issue caused by 684db6da64bc7b5faee4e1174e801c245f563b5c.
In Decode() function, once mOutBuf is fully filled, Decode() should return.
Current logic misses the checker of mOutBuf after while() loop.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.c

index 39999a07c36fb37f21bd5a0fcaa2797f873014bb..970795b1dad48d0c70f5eac5a3e3384ecb82b97f 100644 (file)
@@ -634,6 +634,12 @@ Decode (
 \r
         BytesRemain--;\r
       }\r
+      //\r
+      // Once mOutBuf is fully filled, directly return\r
+      //\r
+      if (Sd->mOutBuf >= Sd->mOrigSize) {\r
+        goto Done ;\r
+      }\r
     }\r
   }\r
 \r