From: Jaroslav Kysela Date: Fri, 28 Nov 2014 10:40:21 +0000 (+0100) Subject: httpc: fix the EOC test in http_client_data_chunked() X-Git-Tag: v4.1~679 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cf827862dcce9351bdc4274c40fbb43e784be716;p=thirdparty%2Ftvheadend.git httpc: fix the EOC test in http_client_data_chunked() --- diff --git a/src/httpc.c b/src/httpc.c index 8984d28c6..3c5486097 100644 --- a/src/httpc.c +++ b/src/httpc.c @@ -740,7 +740,7 @@ http_client_data_chunked( http_client_t *hc, char *buf, size_t len, int *end ) } l = 0; if (hc->hc_chunk_csize) { - s = d = hc->hc_chunk; + s = hc->hc_chunk; if (buf[0] == '\n' && s[hc->hc_chunk_csize-1] == '\r') l = 1; else if (len > 1 && buf[0] == '\r' && buf[1] == '\n') @@ -766,7 +766,10 @@ http_client_data_chunked( http_client_t *hc, char *buf, size_t len, int *end ) return res; continue; } - if (s[0] == '0' && s[1] == '\0') + d = s + 1; + while (*d == '0' && *d) + d++; + if (s[0] == '0' && *d == '\0') hc->hc_chunk_trails = 1; else { hc->hc_chunk_size = strtoll(s, NULL, 16);