Make sure a socklen_t can compare with a sizeof() result
authorRichard Levitte <levitte@openssl.org>
Sun, 14 Feb 2016 10:16:37 +0000 (11:16 +0100)
committerRichard Levitte <levitte@openssl.org>
Sun, 14 Feb 2016 10:16:37 +0000 (11:16 +0100)
Most of the times, it seems that socklen_t is unsigned.
Unfortunately, this isn't always the case, and it doesn't compare with
a size_t without warning.

A cast resolves the issue.

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
crypto/bio/b_sock.c

index 4ae08d2..eece85b 100644 (file)
@@ -432,7 +432,7 @@ int BIO_sock_info(int sock,
                 BIOerr(BIO_F_BIO_SOCK_INFO, BIO_R_GETSOCKNAME_ERROR);
                 return 0;
             }
-            if (addr_len > sizeof(*info->addr)) {
+            if ((size_t)addr_len > sizeof(*info->addr)) {
                 BIOerr(BIO_F_BIO_SOCK_INFO, BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS);
                 return 0;
             }