On Thu, Sep 19, 2019 at 04:13:52PM +0000, Matt Corallo wrote:
> Sometimes showing export table(s) from birdc on 2.0.6 results in a
> Segfault of the bird daemon. I can try to debug further if this isn't
> sufficient, but largely the only difference between one protocol and the
> other is the presence of communities on the exports from PROTO2.

Hi

Here is the patch that fixes the issue.

-- 
Elen sila lumenn' omentielvo

Ondrej 'Santiago' Zajicek (email: [email protected])
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
commit ca2dacfcee92d8cfecff74dd020c2d16202b0d5c
Author: Ondrej Zajicek (work) <[email protected]>
Date:   Tue Sep 24 17:12:15 2019 +0200

    Nest: Fix bug in export table
    
    Exported route may be in modified state, we need to get cached one for
    rte_same() and rta_clone() to work properly.

diff --git a/nest/rt-table.c b/nest/rt-table.c
index 318ec2ee..c3ec0314 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -2705,6 +2705,11 @@ rte_update_out(struct channel *c, const net_addr *n, rte *new, rte *old0, int re
   {
     net = net_get(tab, n);
     src = new->attrs->src;
+
+    rte_store_tmp_attrs(new, rte_update_pool, NULL);
+
+    if (!rta_is_cached(new->attrs))
+      new->attrs = rta_lookup(new->attrs);
   }
   else
   {

Reply via email to