diff --git a/frameworks/innerkitsimpl/codec/src/image_source.cpp b/frameworks/innerkitsimpl/codec/src/image_source.cpp index a9a7257d06541580165e061c26980028f8952b7d..24d6aaf43aa3dac7f6c4ea3318f9209d58e72b6a 100644 --- a/frameworks/innerkitsimpl/codec/src/image_source.cpp +++ b/frameworks/innerkitsimpl/codec/src/image_source.cpp @@ -5068,7 +5068,7 @@ void ImageSource::DecodeHeifAuxiliaryPictures( } auto auxiliaryPicture = AuxiliaryGenerator::GenerateHeifAuxiliaryPicture( mainInfo, auxType, mainDecoder_, errorCode); - if (auxiliaryPicture == nullptr) { + if (auxiliaryPicture == nullptr || auxiliaryPicture->GetContentPixel() == nullptr) { IMAGE_LOGE("Generate heif auxiliary picture failed! Type: %{public}d, errorCode: %{public}d", auxType, errorCode); } else { @@ -5183,7 +5183,7 @@ void ImageSource::DecodeJpegAuxiliaryPicture( uint32_t auxErrorCode = ERROR; auto auxPicture = AuxiliaryGenerator::GenerateJpegAuxiliaryPicture( mainInfo, auxInfo.auxType, auxStream, auxDecoder, auxErrorCode); - if (auxPicture != nullptr) { + if (auxPicture != nullptr && auxiliaryPicture->GetContentPixel() != nullptr) { AuxiliaryPictureInfo auxPictureInfo = auxPicture->GetAuxiliaryPictureInfo(); auxPictureInfo.jpegTagName = auxInfo.auxTagName; auxPicture->SetAuxiliaryPictureInfo(auxPictureInfo);