aboutsummaryrefslogtreecommitdiffstats
path: root/proto
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2020-11-24 03:42:23 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2020-11-24 03:42:23 +0100
commit1678bc07467e6d977fc2f6bf830274ca92e0a6e5 (patch)
treefdbdc70d526b7dedabdabd9bed889f0fdc2e023e /proto
parentc9ae81656f97bcc55910e80b6f00d3ee9383d848 (diff)
downloadbird-1678bc07467e6d977fc2f6bf830274ca92e0a6e5.tar.gz
Fix some failed asserts due to add_tail()
When config structures are copied due to template application, we need to reset list node structure before calling add_tail(). Thanks to Mikael Magnusson for patches.
Diffstat (limited to 'proto')
-rw-r--r--proto/static/static.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/proto/static/static.c b/proto/static/static.c
index 7b22d49b..941e916f 100644
--- a/proto/static/static.c
+++ b/proto/static/static.c
@@ -643,6 +643,7 @@ static_copy_config(struct proto_config *dest, struct proto_config *src)
{
dnh = cfg_alloc(sizeof(struct static_route));
memcpy(dnh, snh, sizeof(struct static_route));
+ memset(&dnh->n, 0, sizeof(node));
if (!drt)
add_tail(&d->routes, &(dnh->n));