From f3b9bc33b5e1b1549da6b80c3a5952462afe8c1e Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Thu, 19 Sep 2019 20:01:24 +0000 Subject: [PATCH] udp.c: Add explicit cast to muffle bogus Clang warning. Clang is complaining (`-Wsign-compare') about the comparison between `salen' (`socklen_t', i.e., an `int' with a false moustache) and `size_t' (`unsigned int' in this case). I can see that some warnings of this kind are useful, but not this one. The usual arithmetic conversions apply, so `salen' is converted to `size_t'. If it was negative before, it's now very positive, which will trip the the comparison and call `FAIL' -- which seems like a plausible outcome. Muffle the warning by adding an explicit cast. This is ugly and pointless, though: other suggestions are welcome. Signed-off-by: Mark Wooding Acked-by: Ian Jackson --- udp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udp.c b/udp.c index 9be56e1..ee38d51 100644 --- a/udp.c +++ b/udp.c @@ -269,7 +269,7 @@ static bool_t record_socket_gotaddr(struct udpcommon *uc, struct udpsock *us, socklen_t salen=sizeof(us->addr); int r=getsockname(us->fd,&us->addr.sa,&salen); if (r) FAIL("getsockname()"); - if (salen>sizeof(us->addr)) { errno=0; FAIL("getsockname() length"); } + if ((size_t)salen>sizeof(us->addr)) { errno=0; FAIL("getsockname() length"); } return True; failed: -- 2.11.0