From: Petr Štetiar Date: Tue, 8 Dec 2020 17:13:03 +0000 (+0100) Subject: uclient-http: fix extra compiler warnings on mips_24kc and cortex-a9+neon X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=32ff717ed316e2d29563dcccfb272144dee9973c;p=project%2Fuclient.git uclient-http: fix extra compiler warnings on mips_24kc and cortex-a9+neon Fixes following warnings as reported on 32-bit platforms toolchain-mips_24kc_gcc-8.4.0_musl and toolchain-arm_cortex-a9+neon_gcc-8.4.0_musl_eabi: uclient-http.c:1111:10: error: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Werror=sign-compare] if (len > data_end - data) ^ uclient-http.c:1115:11: error: comparison of integer expressions of different signedness: 'unsigned int' and 'long int' [-Werror=sign-compare] if (len > uh->read_chunked) ^ uclient-http.c:1120:11: error: comparison of integer expressions of different signedness: 'unsigned int' and 'long int' [-Werror=sign-compare] if (len > uh->content_length) ^ References: https://gitlab.com/ynezz/openwrt-uclient/-/pipelines/226912126 Signed-off-by: Petr Štetiar --- diff --git a/uclient-http.c b/uclient-http.c index 7eb4692..349e69c 100644 --- a/uclient-http.c +++ b/uclient-http.c @@ -1108,16 +1108,17 @@ uclient_http_read(struct uclient *cl, char *buf, unsigned int len) } } - if (len > data_end - data) - len = data_end - data; + unsigned int diff = data_end - data; + if (len > diff) + len = diff; if (uh->read_chunked >= 0) { - if (len > uh->read_chunked) + if (len > (unsigned long) uh->read_chunked) len = uh->read_chunked; uh->read_chunked -= len; } else if (uh->content_length >= 0) { - if (len > uh->content_length) + if (len > (unsigned long) uh->content_length) len = uh->content_length; uh->content_length -= len;