From: Daniel Stenberg <daniel@haxx.se>
Date: Tue, 7 Aug 2012 12:55:19 +0000 (+0200)
Subject: retry request: only access the HTTP data if in fact HTTP
X-Git-Tag: curl-7_28_0~125
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f0d611df9e5f606cd402a2de84f1cdd69ebc5864;p=curl

retry request: only access the HTTP data if in fact HTTP

When figuring out if the data stream needs to be rewound when the
request is to be resent, we must not access the HTTP struct unless the
protocol used is indeed HTTP...

Bug: http://curl.haxx.se/bug/view.cgi?id=3544688
---

diff --git a/lib/transfer.c b/lib/transfer.c
index d6fc93445..73456ec3e 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -2060,7 +2060,9 @@ CURLcode Curl_retry_request(struct connectdata *conn,
                                 error just because nothing has been
                                 transferred! */
 
-    if(data->state.proto.http->writebytecount)
+
+    if((conn->handler->protocol&CURLPROTO_HTTP) &&
+       data->state.proto.http->writebytecount)
       return Curl_readrewind(conn);
   }
   return CURLE_OK;