[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(usagi-users 00599) bug in addrconf.c
- To: usagi-users@xxxxxxxxxxxxxx
- Subject: (usagi-users 00599) bug in addrconf.c
- From: "David Stevens" <dlstevens@xxxxxxxxxx>
- Date: Mon, 25 Jun 2001 16:07:30 -0600
- Importance: Normal
- List-subscribe: <mailto:usagi-users-ctl@linux-ipv6.org?body=subscribe>
- Reply-to: usagi-users@xxxxxxxxxxxxxx
- Sender: "David Stevens" <dlstevens@xxxxxxxxxx>
addrconf.c from the June 11th snapshot in function inet6_addr_diff() sets
addrlen to 4. This means it'll only
consider the first 4 bytes when looking for source addresses and may pick
the wrong one when there are more
than one address matching in the first 4 bytes, but differing in later
bytes.
Minimal fix:
*** addrconf.c.OLD Mon Jun 25 15:00:50 2001
--- addrconf.c.NEW Mon Jun 25 14:13:00 2001
***************
*** 191,197 ****
{
__u32 *a1 = token1;
__u32 *a2 = token2;
! int addrlen = 4;
int i;
addrlen >>= 2;
--- 191,197 ----
{
__u32 *a1 = token1;
__u32 *a2 = token2;
! int addrlen = 16;
int i;
addrlen >>= 2;
+-DLS