]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Flush temporary attributes after route-map apply
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Mon, 7 Feb 2022 08:50:33 +0000 (10:50 +0200)
committermergify-bot <noreply@mergify.com>
Mon, 7 Feb 2022 14:41:29 +0000 (14:41 +0000)
Fixes crash:

```
Received signal 6 at 1644222173 (si_addr 0x6f000012d2, PC 0x7f79274cbfb7); aborting...
/usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(zlog_backtrace_sigsafe+0x6d) [0x7f79282e079d]
/usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(zlog_signal+0xf3) [0x7f79282e0993]
/usr/lib/x86_64-linux-gnu/frr/libfrr.so.0(+0xbd881) [0x7f792830b881]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12980) [0x7f7927890980]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f79274cbfb7]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7f79274cd921]
/lib/x86_64-linux-gnu/libc.so.6(+0x89967) [0x7f7927516967]
/lib/x86_64-linux-gnu/libc.so.6(+0x909da) [0x7f792751d9da]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x620) [0x7f7927525050]
/usr/lib/frr/bgpd(+0x1e7c1c) [0x55b5c53b1c1c]
/usr/lib/frr/bgpd(aspath_free+0x28) [0x55b5c53b1c78]
/usr/lib/frr/bgpd(bgp_attr_flush+0x245) [0x55b5c52abc15]
/usr/lib/frr/bgpd(subgroup_announce_check+0x1137) [0x55b5c530c5d7]
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
(cherry picked from commit 686826e90e5d8a96e6b4b93cef77aa595fd83ef0)

bgpd/bgp_route.c

index b5093737629892c66dbcb703edd5983b3f6998ba..9b628a726a034a5a9a1b594d4b46c09db776ca7b 100644 (file)
@@ -2118,7 +2118,7 @@ bool subgroup_announce_check(struct bgp_dest *dest, struct bgp_path_info *pi,
                                        "%s [Update:SEND] %pFX is filtered by route-map",
                                        peer->host, p);
 
-                       bgp_attr_flush(attr);
+                       bgp_attr_flush(&dummy_attr);
                        return false;
                }
        }