From a7846189cdb09a9d7ecca43f045cd0fb4517fe39 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Sun, 29 May 2005 22:30:48 +0000 Subject: Eric Cooper reported about a problem with HTTP servers that responds with binary zeroes within the headers. They confused libcurl to do wrong so the downloaded headers become incomplete. The fix is now verified with test case 262. --- lib/transfer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/transfer.c b/lib/transfer.c index 3c1b52a21..fdc825bd2 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -360,7 +360,7 @@ CURLcode Curl_readwrite(struct connectdata *conn, /* str_start is start of line within buf */ k->str_start = k->str; - k->end_ptr = strchr (k->str_start, '\n'); + k->end_ptr = memchr(k->str_start, '\n', nread); if (!k->end_ptr) { /* Not a complete header line within buffer, append the data to @@ -428,7 +428,7 @@ CURLcode Curl_readwrite(struct connectdata *conn, } /* copy to end of line */ - strncpy (k->hbufp, k->str_start, full_length); + memcpy(k->hbufp, k->str_start, full_length); k->hbufp += full_length; k->hbuflen += full_length; *k->hbufp = 0; -- cgit v1.2.3