]> granicus.if.org Git - curl/commitdiff
http: don't set the "rewind" flag when not uploading anything
authorDaniel Stenberg <daniel@haxx.se>
Fri, 4 May 2018 09:06:26 +0000 (11:06 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 4 May 2018 11:51:25 +0000 (13:51 +0200)
It triggers an assert.

Detected by OSS-Fuzz
Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8144
Closes #2546

lib/http.c

index ec709ff8d32ab41e5808e3597160b0cc44f84546..1a313b4fbec46f1c45671b42d8b9263ad0c53abc 100644 (file)
@@ -433,7 +433,7 @@ static CURLcode http_perhapsrewind(struct connectdata *conn)
            data left to send, keep on sending. */
 
         /* rewind data when completely done sending! */
-        if(!conn->bits.authneg) {
+        if(!conn->bits.authneg && (conn->writesockfd != CURL_SOCKET_BAD)) {
           conn->bits.rewindaftersend = TRUE;
           infof(data, "Rewind stream after send\n");
         }