wininet: Eat terminator on last chunk.

This commit is contained in:
Daniel Lehman 2015-03-05 12:45:26 -08:00 committed by Alexandre Julliard
parent 0cd1922302
commit c921deebf1
1 changed files with 13 additions and 2 deletions

View File

@ -2763,8 +2763,19 @@ static DWORD start_next_chunk(chunked_stream_t *stream, http_request_t *req)
if (req->contentLength == ~0u) req->contentLength = chunk_size;
else req->contentLength += chunk_size;
if (!chunk_size) stream->end_of_data = TRUE;
return discard_chunked_eol(stream, req);
/* eat the rest of this line */
if ((res = discard_chunked_eol(stream, req)) != ERROR_SUCCESS)
return res;
/* if there's chunk data, return now */
if (chunk_size) return ERROR_SUCCESS;
/* otherwise, eat the terminator for this chunk */
if ((res = discard_chunked_eol(stream, req)) != ERROR_SUCCESS)
return res;
stream->end_of_data = TRUE;
return ERROR_SUCCESS;
}
remove_chunked_data(stream, 1);
}