Author: jmb
Date: Wed Jun 29 18:32:53 2011
New Revision: 12542
URL:
http://source.netsurf-browser.org?rev=12542&view=rev
Log:
Less broken WWW-Authenticate header parser
Modified:
trunk/netsurf/content/fetchers/curl.c
Modified: trunk/netsurf/content/fetchers/curl.c
URL:
http://source.netsurf-browser.org/trunk/netsurf/content/fetchers/curl.c?r...
==============================================================================
--- trunk/netsurf/content/fetchers/curl.c (original)
+++ trunk/netsurf/content/fetchers/curl.c Wed Jun 29 18:32:53 2011
@@ -1083,18 +1083,18 @@
i++;
if (i < (int) size) {
- free(f->realm);
- f->realm = malloc(size - i + 1);
- if (f->realm != NULL) {
- strncpy(f->realm, data + i, size - i);
- f->realm[size - i] = '\0';
- for (i = size - i - 1; i >= 0 &&
- (f->realm[i] == ' ' ||
- f->realm[i] == '"' ||
- f->realm[i] == '\t' ||
- f->realm[i] == '\r' ||
- f->realm[i] == '\n'); --i)
- f->realm[i] = '\0';
+ size_t end = i;
+
+ while (end < size && data[end] != '"')
+ ++end;
+
+ if (end < size) {
+ free(f->realm);
+ f->realm = malloc(end - i + 1);
+ if (f->realm != NULL) {
+ strncpy(f->realm, data + i, end - i);
+ f->realm[end - i] = '\0';
+ }
}
}
} else if (11 < size && strncasecmp(data, "Set-Cookie:", 11) == 0)
{