From 54f5e9f693c396352700fa6c6f7bd60c511c5bed Mon Sep 17 00:00:00 2001 From: "huiyu.eun" Date: Thu, 2 Jan 2020 16:49:53 +0900 Subject: [PATCH] [Tizen] Fix svg memory issue - fix heap-buffer-overflow issue - nsvgParse : Parses SVG file from a null terminated string. Change-Id: I09edc74929709e3f451bd308ebff88fe1729bd87 Signed-off-by: huiyu.eun --- dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp | 1 + dali-toolkit/internal/visuals/svg/svg-visual.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp b/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp index 2ac4fcb..174183e 100644 --- a/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp +++ b/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp @@ -68,6 +68,7 @@ void RasterizingTask::Load() return; } + remoteBuffer.PushBack( '\0' ); mParsedSvg = nsvgParse( reinterpret_cast(remoteBuffer.begin()), UNITS, mDpi ); } } diff --git a/dali-toolkit/internal/visuals/svg/svg-visual.cpp b/dali-toolkit/internal/visuals/svg/svg-visual.cpp index 69748ee..6c32e9d 100644 --- a/dali-toolkit/internal/visuals/svg/svg-visual.cpp +++ b/dali-toolkit/internal/visuals/svg/svg-visual.cpp @@ -196,6 +196,7 @@ void SvgVisual::ParseFromUrl( const VisualUrl& imageUrl ) Dali::Vector buffer; if ( Dali::FileLoader::ReadFile( mImageUrl.GetUrl(), buffer ) ) { + buffer.PushBack( '\0' ); mParsedImage = nsvgParse( buffer.Begin(), UNITS, meanDpi ); } } -- 2.7.4