summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--src/input/IcyInputStream.cxx5
2 files changed, 6 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index e18e3ba81..a9cae45d1 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ ver 0.22.10 (not yet released)
- support "albumart" for virtual tracks in CUE sheets
* database
- simple: fix crash bug
+* input
+ - curl: fix crash bug after stream with Icy metadata was closed by peer
ver 0.22.9 (2021/06/23)
* database
diff --git a/src/input/IcyInputStream.cxx b/src/input/IcyInputStream.cxx
index f24399e85..46ebeaca4 100644
--- a/src/input/IcyInputStream.cxx
+++ b/src/input/IcyInputStream.cxx
@@ -104,8 +104,11 @@ IcyInputStream::Read(std::unique_lock<Mutex> &lock,
while (true) {
size_t nbytes = ProxyInputStream::Read(lock, ptr, read_size);
- if (nbytes == 0)
+ if (nbytes == 0) {
+ assert(IsEOF());
+ offset = override_offset;
return 0;
+ }
size_t result = parser->ParseInPlace(ptr, nbytes);
if (result > 0) {