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.
This commit is contained in:
Ondrej Zajicek 2009-05-22 15:16:53 +02:00
parent 80f0d6764a
commit d72a0ac239

View file

@ -310,7 +310,7 @@ ea_same(ea_list *x, ea_list *y)
a->flags != b->flags || a->flags != b->flags ||
a->type != b->type || a->type != b->type ||
((a->type & EAF_EMBEDDED) ? a->u.data != b->u.data : ((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 0;
} }
return 1; return 1;