aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES6
-rw-r--r--lib/transfer.c4
-rw-r--r--tests/data/Makefile.am2
-rw-r--r--tests/data/test262bin0 -> 1114 bytes
4 files changed, 9 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index b8ea14d8c..10959713b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,12 @@
Changelog
+Daniel (30 May 2005)
+- 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.
+
Daniel (24 May 2005)
- Andres Garcia provided a text mode patch for several test cases so that they
do text comparisions better on Windows (newline-wise).
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;
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 8d64cf81a..50ef1ec8c 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -32,4 +32,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \
test231 test232 test228 test229 test233 test234 test235 test236 test520 \
test237 test238 test239 test243 test245 test246 test247 test248 test249 \
test250 test251 test252 test253 test254 test255 test521 test522 test523 \
- test256 test257 test258 test259 test260 test261
+ test256 test257 test258 test259 test260 test261 test262
diff --git a/tests/data/test262 b/tests/data/test262
new file mode 100644
index 000000000..b9b5a61f4
--- /dev/null
+++ b/tests/data/test262
Binary files differ