Fix SVACE issue. 18/273718/2
authorseungho <sbsh.baek@samsung.com>
Wed, 13 Apr 2022 01:56:20 +0000 (10:56 +0900)
committerseungho <sbsh.baek@samsung.com>
Wed, 13 Apr 2022 05:41:05 +0000 (14:41 +0900)
 - Initialize framebuffer pointer.

Change-Id: I27bb4fa11c0ba348180d6818486e2a615335f9e6
Signed-off-by: seungho <sbsh.baek@samsung.com>
dali/internal/imaging/common/webp-loading.cpp

index 308bd9e..23048ce 100644 (file)
@@ -367,16 +367,19 @@ Dali::Devel::PixelBuffer WebPLoading::DecodeFrame(uint32_t frameIndex)
     WebPAnimDecoderReset(mImpl->mWebPAnimDecoder);
   }
 
-  uint8_t* frameBuffer;
-  int32_t timestamp;
+  uint8_t* frameBuffer = nullptr;
+  int32_t timestamp = 0u;
   for(; mImpl->mLatestLoadedFrame < static_cast<int32_t>(frameIndex);)
   {
     WebPAnimDecoderGetNext(mImpl->mWebPAnimDecoder, &frameBuffer, &timestamp);
     mImpl->mTimeStamp[++mImpl->mLatestLoadedFrame] = timestamp;
   }
-  const int bufferSize = mImpl->mWebPAnimInfo.canvas_width * mImpl->mWebPAnimInfo.canvas_height * sizeof(uint32_t);
-  pixelBuffer = Dali::Devel::PixelBuffer::New(mImpl->mWebPAnimInfo.canvas_width, mImpl->mWebPAnimInfo.canvas_height, Dali::Pixel::RGBA8888);
-  memcpy(pixelBuffer.GetBuffer(), frameBuffer, bufferSize);
+  if(frameBuffer != nullptr)
+  {
+    const int bufferSize = mImpl->mWebPAnimInfo.canvas_width * mImpl->mWebPAnimInfo.canvas_height * sizeof(uint32_t);
+    pixelBuffer          = Dali::Devel::PixelBuffer::New(mImpl->mWebPAnimInfo.canvas_width, mImpl->mWebPAnimInfo.canvas_height, Dali::Pixel::RGBA8888);
+    memcpy(pixelBuffer.GetBuffer(), frameBuffer, bufferSize);
+  }
 
 #endif
   return pixelBuffer;