- 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
+ 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