From 98651c6e0e1c3b7a6b8650b55b473fcc745a22b7 Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Thu, 30 Jan 2014 15:23:52 +0100 Subject: [PATCH] libc/net: Fix some issues in our inet6_opt_init() (from RFC 3542). * The RFC says (in section 10.1) that only when extbuf is not NULL, extlen shall be checked, so don't perform this check when NULL is passed. * socklen_t is unsigned, so checking extlen for less than zero is not needed. --- lib/libc/net/ip6opt.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/libc/net/ip6opt.c b/lib/libc/net/ip6opt.c index 9d742e6afd..47f7eab66b 100644 --- a/lib/libc/net/ip6opt.c +++ b/lib/libc/net/ip6opt.c @@ -380,11 +380,8 @@ inet6_opt_init(void *extbuf, socklen_t extlen) { struct ip6_ext *ext = (struct ip6_ext *)extbuf; - if (extlen < 0 || (extlen % 8)) - return(-1); - if (ext) { - if (extlen == 0) + if (extlen == 0 || (extlen % 8)) return(-1); ext->ip6e_len = (extlen >> 3) - 1; } -- 2.41.0