From b8bea5619a937cbf3e13730062804bfa8ddf5e7b Mon Sep 17 00:00:00 2001 From: mpi <> Date: Fri, 7 Feb 2014 09:50:04 +0000 Subject: Fix inet6_opt_init() to only check extlen when extbuff is not NULL as per RFC 3542, from DragonFlyBSD via Eitan Adler. ok bluhm@ --- src/lib/libc/net/ip6opt.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/lib/libc/net/ip6opt.c b/src/lib/libc/net/ip6opt.c index b215f9ac3e..c3609621c2 100644 --- a/src/lib/libc/net/ip6opt.c +++ b/src/lib/libc/net/ip6opt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ip6opt.c,v 1.4 2006/12/09 01:12:28 itojun Exp $ */ +/* $OpenBSD: ip6opt.c,v 1.5 2014/02/07 09:50:04 mpi Exp $ */ /* $KAME: ip6opt.c,v 1.18 2005/06/15 07:11:35 keiichi Exp $ */ /* @@ -383,11 +383,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; } -- cgit v1.2.3-55-g6feb