Hello! Sorry for the delay, we were somehow busy. On 6/25/19 7:57 PM, Vincent Bernat wrote:
When filtering routes in BGP, I get the following crash with BIRD master:
#v+ Program received signal SIGSEGV, Segmentation fault. 0x000055555558ccdd in rta_free (r=0x55555558adc0 <rte_get_temp+16>) at ../nest/route.h:643 643 static inline void rta_free(rta *r) { if (r && !--r->uc) rta__free(r); } #v-
[...]
Minimal configuration is:
#v+ log "/var/log/bird.log" all; router id 2.2.2.2;
filter validated { reject; }
protocol device { }
protocol bgp { local as 65001; neighbor 2001:db8:aaaa::0 as 65000; ipv6 { import filter validated; export none; }; } #v-
I have tried to fix that by initializing `old_attrs` to NULL, but this leads to crash elsewhere. Since I don't know what a temporary attribute is, I may miss the whole picture.
I think the old_attrs should be initialized to NULL and the other crash may be independent on this. Anyway, I didn't manage to reproduce the other crash; could you please try with current master? Thanks Maria