diff options
author | Ondrej Zajicek <santiago@crfreenet.org> | 2009-05-22 15:16:53 +0200 |
---|---|---|
committer | Ondrej Zajicek <santiago@crfreenet.org> | 2009-05-22 15:16:53 +0200 |
commit | d72a0ac2396471ffb2b3a580ee986f950e4d23ae (patch) | |
tree | ba5231c4fe5b79c1bfbf26e53988029331af035f | |
parent | 80f0d6764aa2c54eabdc1b41321a46e8cbcce2b9 (diff) | |
download | bird-d72a0ac2396471ffb2b3a580ee986f950e4d23ae.tar bird-d72a0ac2396471ffb2b3a580ee986f950e4d23ae.zip |
Fixes serious bug in route attribute handing.
ea_same() sometimes returns true for different route attributes,
which caused that hash table in BGP does not work correctly and
some routes were sent with different attributes.
-rw-r--r-- | nest/rt-attr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/nest/rt-attr.c b/nest/rt-attr.c index e79cba1..2318f80 100644 --- a/nest/rt-attr.c +++ b/nest/rt-attr.c @@ -310,7 +310,7 @@ ea_same(ea_list *x, ea_list *y) a->flags != b->flags || a->type != b->type || ((a->type & EAF_EMBEDDED) ? a->u.data != b->u.data : - (a->u.ptr->length != b->u.ptr->length || memcmp(a->u.ptr, b->u.ptr, a->u.ptr->length)))) + (a->u.ptr->length != b->u.ptr->length || memcmp(a->u.ptr->data, b->u.ptr->data, a->u.ptr->length)))) return 0; } return 1; |