From 14ff86256b13e9c74ee53f52bba1de0e6043b099 Mon Sep 17 00:00:00 2001 From: Erik Janssen Date: Thu, 20 Aug 2015 23:07:03 +0200 Subject: [PATCH] rtsp: stop reading empty DESCRIBE responses Based-on-patch-by: Jim Hollinger --- lib/http.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/http.c b/lib/http.c index 9817d72af..d7b56c30b 100644 --- a/lib/http.c +++ b/lib/http.c @@ -3185,6 +3185,16 @@ CURLcode Curl_http_readwrite_headers(struct SessionHandle *data, */ if(data->set.opt_no_body) *stop_reading = TRUE; +#ifndef CURL_DISABLE_RTSP + else if((conn->handler->protocol & CURLPROTO_RTSP) && + (data->set.rtspreq == RTSPREQ_DESCRIBE) && + (k->size <= -1)) + /* Respect section 4.4 of rfc2326: If the Content-Length header is + absent, a length 0 must be assumed. It will prevent libcurl from + hanging on DECRIBE request that got refused for whatever + reason */ + *stop_reading = TRUE; +#endif else { /* If we know the expected size of this document, we set the maximum download size to the size of the expected