Crash when filtering routes in BGP protocol

Maria Jan Matejka jan.matejka at nic.cz
Mon Jul 8 13:09:41 CEST 2019


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3055 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20190708/6662b327/attachment.p7s>


More information about the Bird-users mailing list