Hello community, here is the log from the commit of package clementine for openSUSE:Factory checked in at 2019-07-22 12:19:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clementine (Old) and /work/SRC/openSUSE:Factory/.clementine.new.4126 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clementine" Mon Jul 22 12:19:56 2019 rev:51 rq:715662 version:1.3.1+git20190713 Changes: -------- --- /work/SRC/openSUSE:Factory/clementine/clementine.changes 2019-06-06 18:16:59.732691769 +0200 +++ /work/SRC/openSUSE:Factory/.clementine.new.4126/clementine.changes 2019-07-22 12:19:57.623671137 +0200 @@ -1,0 +2,17 @@ +Mon Jul 15 12:59:14 UTC 2019 - Dave Plater <davejpla...@gmail.com> + +- Update to qt5 branch snapshot 1.3.1+git20190713. +- Add patch for memory leaks from Jiri Slaby via boo#114144 : + delete_the_allocated_memory_in_respective_destructors.patch +- Upstream changes: + *Fix blank window when restoring from systray (#6351) + +------------------------------------------------------------------- +Fri Jul 12 09:27:13 UTC 2019 - Dave Plater <davejpla...@gmail.com> +- Update to qt5 branch snapshot 1.3.1+git20190609. +- Verify boo#1103041 is fixed with: + 0001-Fix-MoodbarPipeline-crash-on-gstreamer-error.patch +- Remove incorporated patch: + 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch + +------------------------------------------------------------------- Old: ---- 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch clementine-1.3.1+git20190423.tar.gz New: ---- clementine-1.3.1+git20190713.tar.gz delete_the_allocated_memory_in_respective_destructors.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clementine.spec ++++++ --- /var/tmp/diff_new_pack.q275zA/_old 2019-07-22 12:20:00.175670468 +0200 +++ /var/tmp/diff_new_pack.q275zA/_new 2019-07-22 12:20:00.175670468 +0200 @@ -16,7 +16,7 @@ # -%define rev 3b76fa62752f25b445ee2a71f02c0c9d7581735a +%define rev c9800a4dc9a345bfa71e1096bbdc7ee0a34e1f28 %bcond_without git @@ -28,7 +28,7 @@ %bcond_without qt5 Name: clementine -Version: 1.3.1+git20190423 +Version: 1.3.1+git20190713 Release: 0 Summary: A music player inspired by Amarok 1.4 License: GPL-3.0-or-later @@ -52,22 +52,19 @@ Patch8: 0001-Prevent-UI-hang-during-device-scan.-6291.patch Patch9: 0001-Fix-thread-safety-issues-when-initially-loading-devi.patch Patch10: 0001-Handle-case-where-a-lister-adds-a-device-before-load.patch +# Fixes [CVE] clementine #3309 Patch11: 0001-Fix-MoodbarPipeline-crash-on-gstreamer-error.patch Patch12: 0001-Fix-potential-use-of-streamer-element-after-deletion.patch Patch13: 0001-Free-decoder-bin-if-error-occurs-during-setup.patch Patch14: 0001-Fix-several-gstreamer-object-leaks.patch #PATCH-FIX-GIT to 2019-04-27 -Patch15: 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch +#Patch15: 0001-Fix-gst_buffer_unref-assertion-in-chromaprinter.patch Patch16: 0001-Add-error-handling-path-for-async-song-loading.patch Patch17: 0001-Fixes-for-APE-filetype.patch Patch18: 0001-Simplify-some-statements.patch Patch19: 0001-Set-non-zero-minimum-for-fade-times.patch Patch20: 0001-Fix-a-number-of-potential-zero-value-field-values.patch -%if 0%{?suse_version} > 1325 -BuildRequires: libboost_headers-devel -%else -BuildRequires: boost-devel -%endif +Patch21: delete_the_allocated_memory_in_respective_destructors.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: freeglut-devel @@ -75,6 +72,7 @@ BuildRequires: gettext-tools BuildRequires: help2man BuildRequires: hicolor-icon-theme +BuildRequires: libboost_headers-devel BuildRequires: update-desktop-files %if %{with qt5} #BuildRequires: pkgconfig(qca2-qt5) @@ -169,7 +167,8 @@ rm -rvf 3rdparty/SPMediaKeyTap %build -export CFLAGS="%{optflags} -fno-strict-aliasing -fsanitize=address -ggdb" +export CFLAGS="%{optflags} -fno-strict-aliasing -ggdb" +# -fsanitize=address export CXXFLAGS="$CFLAGS" %cmake \ -DBUILD_WERROR=OFF \ ++++++ clementine-1.3.1+git20190423.tar.gz -> clementine-1.3.1+git20190713.tar.gz ++++++ /work/SRC/openSUSE:Factory/clementine/clementine-1.3.1+git20190423.tar.gz /work/SRC/openSUSE:Factory/.clementine.new.4126/clementine-1.3.1+git20190713.tar.gz differ: char 28, line 1 ++++++ delete_the_allocated_memory_in_respective_destructors.patch ++++++ --- ext/libclementine-tagreader/tagreader.cpp | 6 ++++++ ext/libclementine-tagreader/tagreader.h | 1 + src/core/database.cpp | 5 ++++- src/songinfo/ultimatelyricsprovider.cpp | 5 +++++ src/songinfo/ultimatelyricsprovider.h | 1 + 5 files changed, 17 insertions(+), 1 deletion(-) --- a/ext/libclementine-tagreader/tagreader.cpp +++ b/ext/libclementine-tagreader/tagreader.cpp @@ -125,6 +125,12 @@ TagReader::TagReader() network_(new QNetworkAccessManager), kEmbeddedCover("(embedded)") {} +TagReader::~TagReader() +{ + delete factory_; + delete network_; +} + void TagReader::ReadFile(const QString& filename, pb::tagreader::SongMetadata* song) const { const QByteArray url(QUrl::fromLocalFile(filename).toEncoded()); --- a/ext/libclementine-tagreader/tagreader.h +++ b/ext/libclementine-tagreader/tagreader.h @@ -50,6 +50,7 @@ class FileRefFactory; class TagReader { public: TagReader(); + ~TagReader(); void ReadFile(const QString& filename, pb::tagreader::SongMetadata* song) const; --- a/src/core/database.cpp +++ b/src/core/database.cpp @@ -670,10 +670,12 @@ void Database::BackupFile(const QString& sqlite3* source_connection = nullptr; sqlite3* dest_connection = nullptr; - BOOST_SCOPE_EXIT((source_connection)(dest_connection)(task_id)(app_)) { + BOOST_SCOPE_EXIT((&source_connection)(&dest_connection)(task_id)(app_)) { // Harmless to call sqlite3_close() with a nullptr pointer. sqlite3_close(source_connection); sqlite3_close(dest_connection); + qLog(Debug) << "Closed databases after backup" << source_connection << + dest_connection; app_->task_manager()->SetTaskFinished(task_id); } BOOST_SCOPE_EXIT_END @@ -709,4 +711,5 @@ void Database::BackupFile(const QString& } sqlite3_backup_finish(backup); + qLog(Debug) << "Database backup finished"; } --- a/src/songinfo/ultimatelyricsprovider.cpp +++ b/src/songinfo/ultimatelyricsprovider.cpp @@ -34,6 +34,11 @@ UltimateLyricsProvider::UltimateLyricsPr redirect_count_(0), url_hop_(false) {} +UltimateLyricsProvider::~UltimateLyricsProvider() +{ + delete network_; +} + void UltimateLyricsProvider::FetchInfo(int id, const Song& metadata) { // Get the text codec const QTextCodec* codec = --- a/src/songinfo/ultimatelyricsprovider.h +++ b/src/songinfo/ultimatelyricsprovider.h @@ -33,6 +33,7 @@ class UltimateLyricsProvider : public So public: UltimateLyricsProvider(); + ~UltimateLyricsProvider(); static const int kRedirectLimit;