qt5/src/poppler-page.cc |    8 ++++++--
 qt6/src/poppler-page.cc |    8 ++++++--
 2 files changed, 12 insertions(+), 4 deletions(-)

New commits:
commit 42dde686bf5a674401850b2d3fdd2bc7467e9a66
Author: Albert Astals Cid <aa...@kde.org>
Date:   Mon Mar 22 00:03:59 2021 +0100

    qt: Fix memory leak when QImage constructor "fails"

diff --git a/qt5/src/poppler-page.cc b/qt5/src/poppler-page.cc
index 9f681722..c433ada4 100644
--- a/qt5/src/poppler-page.cc
+++ b/qt5/src/poppler-page.cc
@@ -1,7 +1,7 @@
 /* poppler-page.cc: qt interface to poppler
  * Copyright (C) 2005, Net Integration Technologies, Inc.
  * Copyright (C) 2005, Brad Hards <br...@frogmouth.net>
- * Copyright (C) 2005-2020, Albert Astals Cid <aa...@kde.org>
+ * Copyright (C) 2005-2021, Albert Astals Cid <aa...@kde.org>
  * Copyright (C) 2005, Stefan Kebekus <stefan.kebe...@math.uni-koeln.de>
  * Copyright (C) 2006-2011, Pino Toscano <p...@kde.org>
  * Copyright (C) 2008 Carlos Garcia Campos <carlo...@gnome.org>
@@ -154,7 +154,11 @@ public:
 
             if (takeImageData) {
                 // Construct a Qt image holding (and also owning) the raw 
bitmap data.
-                return QImage(data, bw, bh, brs, format, gfree, data);
+                QImage i(data, bw, bh, brs, format, gfree, data);
+                if (i.isNull()) {
+                    gfree(data);
+                }
+                return i;
             } else {
                 return QImage(data, bw, bh, brs, format).copy();
             }
diff --git a/qt6/src/poppler-page.cc b/qt6/src/poppler-page.cc
index 0ad6c013..f1f4116c 100644
--- a/qt6/src/poppler-page.cc
+++ b/qt6/src/poppler-page.cc
@@ -1,7 +1,7 @@
 /* poppler-page.cc: qt interface to poppler
  * Copyright (C) 2005, Net Integration Technologies, Inc.
  * Copyright (C) 2005, Brad Hards <br...@frogmouth.net>
- * Copyright (C) 2005-2020, Albert Astals Cid <aa...@kde.org>
+ * Copyright (C) 2005-2021, Albert Astals Cid <aa...@kde.org>
  * Copyright (C) 2005, Stefan Kebekus <stefan.kebe...@math.uni-koeln.de>
  * Copyright (C) 2006-2011, Pino Toscano <p...@kde.org>
  * Copyright (C) 2008 Carlos Garcia Campos <carlo...@gnome.org>
@@ -154,7 +154,11 @@ public:
 
             if (takeImageData) {
                 // Construct a Qt image holding (and also owning) the raw 
bitmap data.
-                return QImage(data, bw, bh, brs, format, gfree, data);
+                QImage i(data, bw, bh, brs, format, gfree, data);
+                if (i.isNull()) {
+                    gfree(data);
+                }
+                return i;
             } else {
                 return QImage(data, bw, bh, brs, format).copy();
             }
_______________________________________________
poppler mailing list
poppler@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to