Package: release.debian.org Severity: normal X-Debbugs-Cc: kphotoal...@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-...@lists.debian.org> Control: affects -1 + src:kphotoalbum User: release.debian....@packages.debian.org Usertags: unblock
Dear Release Team, please unblock package kphotoalbum. [ Reason ] It contains the following changes: * Backport upstream commits: - Fix potential crash with corrupted database file. [8230d780] - Fix random crash if DateBarWidget isn't properly initialized. [9aa361db] (kde#504491) [ Tests ] Reproduced the crash on startup and checked that it’s fixed with the above patches. [ Risks ] Only contains 2 backported upstream commits. Further fixes can easily be backported or the changes reverted. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing Thanks ! unblock kphotoalbum/6.0.1-4
diff -Nru kphotoalbum-6.0.1/debian/changelog kphotoalbum-6.0.1/debian/changelog --- kphotoalbum-6.0.1/debian/changelog 2025-03-05 15:53:01.000000000 +0100 +++ kphotoalbum-6.0.1/debian/changelog 2025-07-22 08:44:45.000000000 +0200 @@ -1,3 +1,15 @@ +kphotoalbum (6.0.1-4) unstable; urgency=medium + + * Team upload. + + [ Aurélien COUDERC ] + * Backport upstream commits: + - Fix potential crash with corrupted database file. [8230d780] + - Fix random crash if DateBarWidget isn't properly initialized. [9aa361db] + (kde#504491) + + -- Aurélien COUDERC <couc...@debian.org> Tue, 22 Jul 2025 08:44:45 +0200 + kphotoalbum (6.0.1-3) unstable; urgency=medium * Team upload @@ -8,7 +20,7 @@ kphotoalbum (6.0.1-2) unstable; urgency=medium * Team upload - * Upload to unstable + * Upload to unstable -- Matthias Geiger <werdah...@debian.org> Wed, 19 Feb 2025 15:38:49 +0100 diff -Nru kphotoalbum-6.0.1/debian/patches/series kphotoalbum-6.0.1/debian/patches/series --- kphotoalbum-6.0.1/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ kphotoalbum-6.0.1/debian/patches/series 2025-07-22 08:43:41.000000000 +0200 @@ -0,0 +1,2 @@ +upstream_8230d780_Fix-potential-crash-with-corrupted-xml-file.patch +upstream_9aa361db_Fix-potential-crash-if-DateBarWidget-isn-t-properly-initialized-.patch diff -Nru kphotoalbum-6.0.1/debian/patches/upstream_8230d780_Fix-potential-crash-with-corrupted-xml-file.patch kphotoalbum-6.0.1/debian/patches/upstream_8230d780_Fix-potential-crash-with-corrupted-xml-file.patch --- kphotoalbum-6.0.1/debian/patches/upstream_8230d780_Fix-potential-crash-with-corrupted-xml-file.patch 1970-01-01 01:00:00.000000000 +0100 +++ kphotoalbum-6.0.1/debian/patches/upstream_8230d780_Fix-potential-crash-with-corrupted-xml-file.patch 2025-07-22 08:41:15.000000000 +0200 @@ -0,0 +1,46 @@ +From 8230d780727e821d7be56760d15c66de6ea92e94 Mon Sep 17 00:00:00 2001 +From: Johannes Zarl-Zierl <johan...@zarl-zierl.at> +Date: Sat, 5 Apr 2025 01:23:02 +0200 +Subject: [PATCH] Fix potential crash with corrupted xml file + +Ensure that a tagged area actually has 4 components (x/y coordinates, +width, height) before accessing those components. +--- + DB/ImageDB.cpp | 21 +++++++++++++-------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +diff --git a/DB/ImageDB.cpp b/DB/ImageDB.cpp +index 0dd2a9709..d7b48f504 100644 +--- a/DB/ImageDB.cpp ++++ b/DB/ImageDB.cpp +@@ -361,14 +361,19 @@ void ImageDB::readOptions(ImageInfoPtr info, DB::ReaderPtr reader, const QMap<QS + + if (reader->hasAttribute(_area_)) { + QStringList areaData = reader->attribute(_area_).split(QString::fromUtf8(" ")); +- int x = areaData[0].toInt(); +- int y = areaData[1].toInt(); +- int w = areaData[2].toInt(); +- int h = areaData[3].toInt(); +- QRect area = QRect(QPoint(x, y), QPoint(x + w - 1, y + h - 1)); +- +- if (!value.isNull()) { +- info->addCategoryInfo(name, value, area); ++ if (areaData.size() == 4) { ++ int x = areaData[0].toInt(); ++ int y = areaData[1].toInt(); ++ int w = areaData[2].toInt(); ++ int h = areaData[3].toInt(); ++ QRect area = QRect(QPoint(x, y), QPoint(x + w - 1, y + h - 1)); ++ ++ if (!value.isNull()) { ++ info->addCategoryInfo(name, value, area); ++ } ++ } else { ++ qCWarning(DBLog) << "Area data has incorrect number of components in line" << reader->lineNumber() ++ << "-" << areaData; + } + } else { + if (!value.isNull()) { +-- +GitLab + diff -Nru kphotoalbum-6.0.1/debian/patches/upstream_9aa361db_Fix-potential-crash-if-DateBarWidget-isn-t-properly-initialized-.patch kphotoalbum-6.0.1/debian/patches/upstream_9aa361db_Fix-potential-crash-if-DateBarWidget-isn-t-properly-initialized-.patch --- kphotoalbum-6.0.1/debian/patches/upstream_9aa361db_Fix-potential-crash-if-DateBarWidget-isn-t-properly-initialized-.patch 1970-01-01 01:00:00.000000000 +0100 +++ kphotoalbum-6.0.1/debian/patches/upstream_9aa361db_Fix-potential-crash-if-DateBarWidget-isn-t-properly-initialized-.patch 2025-07-22 08:43:41.000000000 +0200 @@ -0,0 +1,27 @@ +From 9aa361dbb0493974462655a045d02dffcfada31a Mon Sep 17 00:00:00 2001 +From: Johannes Zarl-Zierl <johan...@zarl-zierl.at> +Date: Mon, 19 May 2025 21:42:06 +0200 +Subject: [PATCH] Fix potential crash if DateBarWidget isn't properly + initialized. + +CCBUG: 504491 +--- + DateBar/DateBarWidget.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/DateBar/DateBarWidget.cpp b/DateBar/DateBarWidget.cpp +index 37bb5e220..315d68b1e 100644 +--- a/DateBar/DateBarWidget.cpp ++++ b/DateBar/DateBarWidget.cpp +@@ -49,6 +49,8 @@ constexpr int SCROLL_ACCELERATION = 10; + + DateBar::DateBarWidget::DateBarWidget(QWidget *parent) + : QWidget(parent) ++ , m_dates(QExplicitlySharedDataPointer<DB::ImageDateCollection>( ++ new DB::ImageDateCollection({}))) + , m_currentHandler(&m_yearViewHandler) + , m_tp(YearView) + , m_currentMouseHandler(nullptr) +-- +GitLab +