From: Ondrej Zajicek Date: Fri, 22 May 2009 13:16:53 +0000 (+0200) Subject: Fixes serious bug in route attribute handing. X-Git-Tag: v1.2.0~99 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d72a0ac2396471ffb2b3a580ee986f950e4d23ae;p=thirdparty%2Fbird.git 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. --- diff --git a/nest/rt-attr.c b/nest/rt-attr.c index e79cba1fd..2318f801b 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;