From 42c1b669507831f4374c44afc664ba0c3396731a Mon Sep 17 00:00:00 2001 From: Sebastian Palencsar Date: Thu, 28 May 2026 07:09:40 +0200 Subject: [PATCH] Fix segmentation fault when stopping stream --- CHANGELOG.md | 1 + src/icyreader.cpp | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a575ce6..977fd41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed metadata overwrite bug where valid ICY stream metadata was being cleared. - Fixed DBus crash (segmentation fault) under KDE Plasma Wayland by making notification requests asynchronous. - Fixed regex parser bug with stream titles containing apostrophes. +- Fixed crash (segmentation fault) in IcyReader when changing or stopping streams. --- diff --git a/src/icyreader.cpp b/src/icyreader.cpp index 8f5860f..27c5bba 100644 --- a/src/icyreader.cpp +++ b/src/icyreader.cpp @@ -40,9 +40,10 @@ void IcyReader::start(const QString &url) void IcyReader::stop() { if (m_reply) { - m_reply->abort(); - m_reply->deleteLater(); + QNetworkReply *reply = m_reply; m_reply = nullptr; + reply->abort(); + reply->deleteLater(); } m_state = ReadingAudio; m_metaInt = 0; @@ -106,8 +107,9 @@ void IcyReader::onReadyRead() void IcyReader::onFinished() { if (m_reply) { - m_reply->deleteLater(); + QNetworkReply *reply = m_reply; m_reply = nullptr; + reply->deleteLater(); } }