BaseTools: Fix UEFI and Tiano Decompression logic issue

https://bugzilla.tianocore.org/show_bug.cgi?id=1317

This is a regression issue caused by 041d89bc0f.
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>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
Liming Gao 2018-11-09 07:58:14 +08:00
parent 114a75ad86
commit 5e45a1fdcf
2 changed files with 12 additions and 0 deletions

View File

@ -662,6 +662,12 @@ Returns: (VOID)
BytesRemain--; BytesRemain--;
} }
//
// Once mOutBuf is fully filled, directly return
//
if (Sd->mOutBuf >= Sd->mOrigSize) {
return ;
}
} }
} }

View File

@ -2682,6 +2682,12 @@ Returns: (VOID)
BytesRemain--; BytesRemain--;
} }
//
// Once mOutBuf is fully filled, directly return
//
if (Sd->mOutBuf >= Sd->mOrigSize) {
goto Done ;
}
} }
} }