diff --git a/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc b/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc index 07aaa9ab81..6fa3edcb63 100644 --- a/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc +++ b/engine/src/flutter/lib/ui/painting/image_encoding_impeller.cc @@ -165,6 +165,12 @@ void ImageEncodingImpeller::ConvertDlImageToSkImage( texture->GetTextureDescriptor().GetByteSizeOfBaseMipLevel(); auto buffer = impeller_context->GetResourceAllocator()->CreateBuffer(buffer_desc); + if (!buffer) { + encode_task(fml::Status(fml::StatusCode::kUnimplemented, + "Failed to allocate destination buffer.")); + return; + } + auto command_buffer = impeller_context->CreateCommandBuffer(); command_buffer->SetLabel("BlitTextureToBuffer Command Buffer"); auto pass = command_buffer->CreateBlitPass();