- Status = gEfiShellProtocol->GetFileSize(InShellFileHandle, &InSize);\r
- ASSERT_EFI_ERROR(Status);\r
- InBuffer = AllocateZeroPool((UINTN)InSize);\r
- ASSERT(InBuffer != NULL);\r
- InSize2 = (UINTN)InSize;\r
- Status = gEfiShellProtocol->ReadFile(InShellFileHandle, &InSize2, InBuffer);\r
- InSize = InSize2;\r
- ASSERT_EFI_ERROR(Status);\r
- Status = Compress(InBuffer, InSize, OutBuffer, &OutSize);\r
- if (Status == EFI_BUFFER_TOO_SMALL) {\r
- OutBuffer = AllocateZeroPool((UINTN)OutSize);\r
- ASSERT(OutBuffer != NULL);\r
- Status = Compress(InBuffer, InSize, OutBuffer, &OutSize);\r
+ Status = gEfiShellProtocol->GetFileSize (InShellFileHandle, &InSize);\r
+ ASSERT_EFI_ERROR (Status);\r
+ InBuffer = AllocateZeroPool ((UINTN)InSize);\r
+ if (InBuffer == NULL) {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ } else {\r
+ InSize2 = (UINTN)InSize;\r
+ Status = gEfiShellProtocol->ReadFile (InShellFileHandle, &InSize2, InBuffer);\r
+ InSize = InSize2;\r
+ ASSERT_EFI_ERROR (Status);\r
+ Status = Compress (InBuffer, InSize, OutBuffer, &OutSize);\r
+ if (Status == EFI_BUFFER_TOO_SMALL) {\r
+ OutBuffer = AllocateZeroPool ((UINTN)OutSize);\r
+ if (OutBuffer == NULL) {\r
+ Status = EFI_OUT_OF_RESOURCES;\r
+ } else {\r
+ Status = Compress (InBuffer, InSize, OutBuffer, &OutSize);\r
+ }\r
+ }\r