freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] ftinspect-membug 9d64232d: [ftinspect] Fix uninitializ


From: Werner Lemberg
Subject: [freetype2-demos] ftinspect-membug 9d64232d: [ftinspect] Fix uninitialized memory issue and reference misuse. (#23)
Date: Thu, 2 Mar 2023 12:18:56 -0500 (EST)

branch: ftinspect-membug
commit 9d64232d4aaa518cf5f9ce185c397430ef9437ee
Author: Charlie Jiang <w@chariri.moe>
Commit: Charlie Jiang <w@chariri.moe>

    [ftinspect] Fix uninitialized memory issue and reference misuse. (#23)
---
 src/ftinspect/engine/rendering.cpp                | 4 ++--
 src/ftinspect/glyphcomponents/glyphcontinuous.cpp | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/ftinspect/engine/rendering.cpp 
b/src/ftinspect/engine/rendering.cpp
index 11ad283b..0b3db536 100644
--- a/src/ftinspect/engine/rendering.cpp
+++ b/src/ftinspect/engine/rendering.cpp
@@ -136,7 +136,7 @@ RenderingEngine::convertGlyphToBitmapGlyph(FT_Glyph src,
 FT_Bitmap
 RenderingEngine::convertBitmapTo8Bpp(FT_Bitmap* bitmap)
 {
-  FT_Bitmap out;
+  FT_Bitmap out = {};
   out.buffer = NULL;
   // This will create a new bitmap object.
   auto error = FT_Bitmap_Convert(engine_->ftLibrary(), bitmap, &out, 1);
@@ -167,7 +167,7 @@ RenderingEngine::convertBitmapToQImage(FT_Bitmap* src)
 {
   QImage* result = NULL;
 
-  auto& bmap = *src;
+  auto bmap = *src;
   bool ownBitmap = false; // If true, we need to clean up `bmap`.
 
   int width = INT_MAX;
diff --git a/src/ftinspect/glyphcomponents/glyphcontinuous.cpp 
b/src/ftinspect/glyphcomponents/glyphcontinuous.cpp
index c8fdb526..13e7e96f 100644
--- a/src/ftinspect/glyphcomponents/glyphcontinuous.cpp
+++ b/src/ftinspect/glyphcomponents/glyphcontinuous.cpp
@@ -552,6 +552,8 @@ GlyphContinuous::drawCacheGlyph(QPainter* painter,
                                 const GlyphCacheEntry& entry,
                                 bool colorInverted)
 {
+  if (!entry.image)
+    return;
   // From `ftview.c:557`.
   // Well, metrics are also part of the cache...
   int width = entry.advance.x ? entry.advance.x >> 16



reply via email to

[Prev in Thread] Current Thread [Next in Thread]