James Bursa identified a libcurl HTTP bug and a good way to repeat it. If a
authorDaniel Stenberg <daniel@haxx.se>
Sat, 13 Aug 2005 21:28:46 +0000 (21:28 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Sat, 13 Aug 2005 21:28:46 +0000 (21:28 +0000)
site responds with bad HTTP response that doesn't contain any header at all,
only a response body, and the write callback returns 0 to abort the
transfer, it didn't have any real effect but the write callback would be
called once more anyway.

lib/transfer.c

index a2cd391..544ac85 100644 (file)
@@ -1134,6 +1134,8 @@ CURLcode Curl_readwrite(struct connectdata *conn,
               result = Curl_client_write(data, CLIENTWRITE_BODY,
                                          data->state.headerbuff,
                                          k->hbuflen);
+              if(result)
+                return result;
             }
             if(k->badheader < HEADER_ALLBAD) {
               /* This switch handles various content encodings. If there's an