[Tizen] Fix svg memory issue 19/221419/1
authorhuiyu.eun <huiyu.eun@samsung.com>
Thu, 2 Jan 2020 07:49:53 +0000 (16:49 +0900)
committerhuiyu.eun <huiyu.eun@samsung.com>
Thu, 2 Jan 2020 07:54:45 +0000 (16:54 +0900)
- fix heap-buffer-overflow issue
- nsvgParse : Parses SVG file from a null terminated string.

Change-Id: I09edc74929709e3f451bd308ebff88fe1729bd87
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp
dali-toolkit/internal/visuals/svg/svg-visual.cpp

index 2ac4fcb..174183e 100644 (file)
@@ -68,6 +68,7 @@ void RasterizingTask::Load()
       return;
     }
 
+    remoteBuffer.PushBack( '\0' );
     mParsedSvg = nsvgParse( reinterpret_cast<char*>(remoteBuffer.begin()), UNITS, mDpi );
   }
 }
index 69748ee..6c32e9d 100644 (file)
@@ -196,6 +196,7 @@ void SvgVisual::ParseFromUrl( const VisualUrl& imageUrl )
     Dali::Vector<char> buffer;
     if ( Dali::FileLoader::ReadFile( mImageUrl.GetUrl(), buffer ) )
     {
+      buffer.PushBack( '\0' );
       mParsedImage = nsvgParse( buffer.Begin(), UNITS, meanDpi );
     }
   }