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 <yn...@true.cz>
---
 uclient-http.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/uclient-http.c b/uclient-http.c
index 7eb469221d7f..349e69cdd4ae 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;

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to