in DestinationSize and the size of the scratch\r
buffer was returned in ScratchSize.\r
\r
+ @retval RETURN_UNSUPPORTED DestinationSize cannot be output because the\r
+ uncompressed buffer size (in bytes) does not fit\r
+ in a UINT32. Output parameters have not been\r
+ modified.\r
**/\r
RETURN_STATUS\r
EFIAPI\r
ASSERT(SourceSize >= LZMA_HEADER_SIZE);\r
\r
DecodedSize = GetDecodedSizeOfBuf((UINT8*)Source);\r
+ if (DecodedSize > MAX_UINT32) {\r
+ return RETURN_UNSUPPORTED;\r
+ }\r
\r
*DestinationSize = (UINT32)DecodedSize;\r
*ScratchSize = SCRATCH_BUFFER_REQUEST_SIZE;\r