From a08e83e2cc271e2d5bf3720798723b2f8eafc0bf Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 8 Jul 2022 13:12:08 +0200 Subject: [PATCH] Ladybird: Check for errors while decoding favicons --- Ladybird/WebView.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Ladybird/WebView.cpp b/Ladybird/WebView.cpp index bd6ce779df..f54821252e 100644 --- a/Ladybird/WebView.cpp +++ b/Ladybird/WebView.cpp @@ -220,8 +220,13 @@ public: virtual void page_did_change_favicon(Gfx::Bitmap const& bitmap) override { - QPixmap icon = QPixmap::fromImage(QImage(bitmap.scanline_u8(0), bitmap.width(), bitmap.height(), bitmap.pitch(), QImage::Format_ARGB32)); - emit m_view.favicon_changed(QIcon(icon)); + auto qimage = QImage(bitmap.scanline_u8(0), bitmap.width(), bitmap.height(), QImage::Format_ARGB32); + if (qimage.isNull()) + return; + auto qpixmap = QPixmap::fromImage(qimage); + if (qpixmap.isNull()) + return; + emit m_view.favicon_changed(QIcon(qpixmap)); } virtual void page_did_layout() override