From 6037beabe1b704093620704d279cda43d4874c4e Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 13 Oct 2009 16:24:28 +0200 Subject: [PATCH] input/curl: fixed endless loop during buffering When the connection is lost while buffering, the CURL input plugin may enter an endless loop, because it does not check the EOF condition. This patch makes fill_buffer() return success only if there's at least one buffer, which is enough of a check.x --- NEWS | 1 + src/input/curl_input_plugin.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 08057a86e..ec6cbe663 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ ver 0.15.5 (2009/??/??) * input: - curl: don't abort if a packet has only metadata + - curl: fixed endless loop during buffering * tags: - riff, aiff: fixed "limited range" gcc warning * decoder_thread: change the fallback decoder name to "mad" diff --git a/src/input/curl_input_plugin.c b/src/input/curl_input_plugin.c index b83bcd918..95d269ce5 100644 --- a/src/input/curl_input_plugin.c +++ b/src/input/curl_input_plugin.c @@ -315,7 +315,7 @@ fill_buffer(struct input_stream *is) return false; } - return true; + return !g_queue_is_empty(c->buffers); } /**