* inet/inet6_opt.c (inet6_opt_init): Fix ip6h_len computation.
	Patch by Roland Bless <roland@bless.de>.
This commit is contained in:
Ulrich Drepper 2008-03-08 19:17:22 +00:00
parent 368a8dec0a
commit 725c0c8792
2 changed files with 10 additions and 2 deletions

View File

@ -1,5 +1,9 @@
2008-03-08 Ulrich Drepper <drepper@redhat.com>
[BZ #5760]
* inet/inet6_opt.c (inet6_opt_init): Fix ip6h_len computation.
Patch by Roland Bless <roland@bless.de>.
* sysdeps/unix/sysv/linux/dl-sysdep.c: Avoid unnecessary code for
.o file.
* elf/Makefile (routines): Add dl-sysdep.

View File

@ -1,4 +1,4 @@
/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
/* Copyright (C) 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2006.
@ -39,7 +39,11 @@ inet6_opt_init (void *extbuf, socklen_t extlen)
/* Fill in the length in units of 8 octets. */
struct ip6_hbh *extp = (struct ip6_hbh *) extbuf;
extp->ip6h_len = extlen / 8;
/* RFC 2460 requires that the header extension length is the
length of the option header in 8-byte units, not including
the first 8 bytes. Hence we have to subtract one. */
extp->ip6h_len = extlen / 8 - 1;
}
return sizeof (struct ip6_hbh);