aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-01-15 16:12:11 +0100
committerMax Kellermann <max@duempel.org>2009-01-15 16:12:11 +0100
commitd080677b15df42e3d61aa15e3319cfb099a060a2 (patch)
tree130023b389a790cfe5d2bd99cae1a059f9b4edf5
parente9311545f5e101289a6d1f1b54eface70cf83717 (diff)
downloadmpd-d080677b15df42e3d61aa15e3319cfb099a060a2.tar.gz
mpd-d080677b15df42e3d61aa15e3319cfb099a060a2.tar.xz
mpd-d080677b15df42e3d61aa15e3319cfb099a060a2.zip
input_curl: call curl_multi_info_read() in constructor
To check for early connect failures, call curl_multi_info_read() in the constructor input_curl_open(). This fixes an assertion failure.
-rw-r--r--NEWS1
-rw-r--r--src/input_curl.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index ba0574a8b..cd2ed41cf 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ MPD 0.14.1 - not yet released
* input_curl:
- use select() to eliminate busy loop during connect
- honour http_proxy_* config directives
+ - fix assertion failure on "connection refused"
* log: automatically append newline
* fix setenv() conflict on Solaris
* configure.ac: check for pkg-config before using it
diff --git a/src/input_curl.c b/src/input_curl.c
index f853a6043..9eac5c360 100644
--- a/src/input_curl.c
+++ b/src/input_curl.c
@@ -739,6 +739,12 @@ input_curl_open(struct input_stream *is, const char *url)
return false;
}
+ ret = input_curl_multi_info_read(is);
+ if (!ret) {
+ input_curl_free(is);
+ return false;
+ }
+
return true;
}