]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Nest: Fix filter reconfiguration
authorOndrej Zajicek (work) <santiago@crfreenet.org>
Tue, 9 Jan 2018 13:36:11 +0000 (14:36 +0100)
committerOndrej Zajicek (work) <santiago@crfreenet.org>
Tue, 9 Jan 2018 13:36:11 +0000 (14:36 +0100)
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

index d76505179b3bd13f751b1fff69e87cab23e2a7ce..e103fec60437fb5544ab87cf849a7d52280ce191 100644 (file)
@@ -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;