From 94f9be80c3686284942ba73670780d27730da997 Mon Sep 17 00:00:00 2001 From: "Ondrej Zajicek (work)" Date: Tue, 9 Jan 2018 14:36:11 +0100 Subject: [PATCH] Nest: Fix filter reconfiguration Function filter_same() must be called with arguments in proper order, otherwise it breaks the new filter, causing crash during route processing. --- nest/proto.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nest/proto.c b/nest/proto.c index d7650517..e103fec6 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -513,8 +513,9 @@ channel_reconfigure(struct channel *c, struct channel_config *cf) if ((c->table != cf->table->table) || (cf->ra_mode && (c->ra_mode != cf->ra_mode))) return 0; - int import_changed = !filter_same(c->in_filter, cf->in_filter); - int export_changed = !filter_same(c->out_filter, cf->out_filter); + /* Note that filter_same() requires arguments in (new, old) order */ + int import_changed = !filter_same(cf->in_filter, c->in_filter); + int export_changed = !filter_same(cf->out_filter, c->out_filter); if (c->preference != cf->preference) import_changed = 1;