Fixed memory scribbler in text vector blob 88/253388/1
authorDavid Steele <david.steele@samsung.com>
Tue, 9 Feb 2021 11:05:46 +0000 (11:05 +0000)
committerDavid Steele <david.steele@samsung.com>
Tue, 9 Feb 2021 11:09:45 +0000 (11:09 +0000)
In the case where mTextureWidth was greater than the width passed in,
the texture copy was scribbling outside the pixbuf array. Changed
it to use the width passed in, so the pixbuf array should contain
only the required blob data.

Change-Id: I6e7dcbf9bd9a12df06319c81448ae9641751b85a
Signed-off-by: David Steele <david.steele@samsung.com>
dali-toolkit/internal/text/rendering/vector-based/vector-blob-atlas.cpp

index 3b4270d..0f11c11 100644 (file)
@@ -195,7 +195,7 @@ void VectorBlobAtlas::TexSubImage(unsigned int offsetX,
   size_t dataIndex = 0;
   for(size_t y = 0; y < height; y++)
   {
   size_t dataIndex = 0;
   for(size_t y = 0; y < height; y++)
   {
-    pos = y * mTextureWidth * 4;
+    pos = y * width * 4;
     for(size_t x = 0; x < width; x++)
     {
       pixbuf[pos + x * 4]     = 0xFF & blob[dataIndex].r;
     for(size_t x = 0; x < width; x++)
     {
       pixbuf[pos + x * 4]     = 0xFF & blob[dataIndex].r;