From: Maria Matejka Date: Tue, 28 Jun 2022 10:57:18 +0000 (+0200) Subject: Fixed bad import table attributes freeing X-Git-Tag: v3.0-alpha1~171^2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=61842ff3157d323f4d13b92effeca1c56c1dd262;p=thirdparty%2Fbird.git Fixed bad import table attributes freeing --- diff --git a/nest/rt-table.c b/nest/rt-table.c index 7fcc43afc..afa0ec5c8 100644 --- a/nest/rt-table.c +++ b/nest/rt-table.c @@ -1627,7 +1627,14 @@ rte_update(struct channel *c, const net_addr *n, rte *new, struct rte_src *src) /* Now the route attributes are kept by the in-table cached version * and we may drop the local handle */ if (new && (c->in_keep & RIK_PREFILTER)) - ea_free(new->attrs); + { + /* There may be some updates on top of the original attribute block */ + ea_list *a = new->attrs; + while (a->next) + a = a->next; + + ea_free(a); + } rte_update_unlock(); }