From: Maria Matejka Date: Fri, 20 Sep 2019 08:16:51 +0000 (+0200) Subject: Filters: Function body comparison result now used. X-Git-Tag: v2.0.7~19 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f477ccb03ed99cf6754baaca179fcf791bcda55;p=thirdparty%2Fbird.git Filters: Function body comparison result now used. Function bodies were compared in post-parse time, yet the result was not used and the functions were incorrectly considered the same as before. Now the result is used to reload affected protocols. --- diff --git a/filter/f-inst.c b/filter/f-inst.c index 49ae993a2..385d18d05 100644 --- a/filter/f-inst.c +++ b/filter/f-inst.c @@ -897,6 +897,11 @@ NEVER_CONSTANT; SYMBOL; + FID_SAME_BODY() + if (!(f2->sym->flags & SYM_FLAG_SAME)) + return 0; + FID_INTERPRET_BODY() + /* Push the body on stack */ LINEX(sym->function); curline.emask |= FE_RETURN;