From: Matthijs van de Water Date: Sat, 22 Aug 2009 18:19:48 +0000 (+0200) Subject: wget: strip trailing whitespace from e.g. "Content-length: 120 " X-Git-Tag: 1_15_0~1 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0d5866624d7551b9cc994853955ff41e8d09dc51;p=oweals%2Fbusybox.git wget: strip trailing whitespace from e.g. "Content-length: 120 " function old new delta wget_main 2395 2427 +32 Signed-off-by: Matthijs van de Water Signed-off-by: Denys Vlasenko --- diff --git a/networking/wget.c b/networking/wget.c index 26b62cc58..b8cd54964 100644 --- a/networking/wget.c +++ b/networking/wget.c @@ -880,7 +880,14 @@ However, in real world it was observed that some web servers */ while ((str = gethdr(buf, sizeof(buf), sfp /*, &n*/)) != NULL) { /* gethdr converted "FOO:" string to lowercase */ - smalluint key = index_in_strings(keywords, buf) + 1; + smalluint key; + /* strip trailing whitespace */ + char *s = strchrnul(str, '\0') - 1; + while (s >= str && (*s == ' ' || *s == '\t')) { + *s = '\0'; + s--; + } + key = index_in_strings(keywords, buf) + 1; if (key == KEY_content_length) { content_len = BB_STRTOOFF(str, NULL, 10); if (errno || content_len < 0) {