]> git.puffer.fish Git - matthieu/frr.git/commit
bgpd: Fixed crash upon bgp network import-check command
authorManpreet Kaur <manpreetk@nvidia.com>
Thu, 13 Mar 2025 11:14:24 +0000 (04:14 -0700)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Sat, 15 Mar 2025 17:36:39 +0000 (17:36 +0000)
commit66200f3a48a37816020fd1b2e11d28e5fbb20750
tree705214cba8696b0db65b55ee1292192a64977ef7
parent18d8e7dbcfb2fe3dffc4e606c9bdef751db40b82
bgpd: Fixed crash upon bgp network import-check command

BT:
```
3  <signal handler called>
4  0x00005616837546fc in bgp_static_update (bgp=bgp@entry=0x5616865eac50, p=0x561686639e40,
    bgp_static=0x561686639f50, afi=afi@entry=AFI_IP6, safi=safi@entry=SAFI_UNICAST) at ../bgpd/bgp_route.c:7232
5  0x0000561683754ad0 in bgp_static_add (bgp=0x5616865eac50) at ../bgpd/bgp_table.h:413
6  0x0000561683785e2e in no_bgp_network_import_check (self=<optimized out>, vty=0x5616865e04c0,
    argc=<optimized out>, argv=<optimized out>) at ../bgpd/bgp_vty.c:4609
7  0x00007fdbcc294820 in cmd_execute_command_real (vline=vline@entry=0x561686663000,
```

The program encountered a SEG FAULT when attempting to access pi->extra->vrfleak->bgp_orig because
pi->extra->vrfleak was NULL.
```
(gdb) p pi->extra->vrfleak
$1 = (struct bgp_path_info_extra_vrfleak *) 0x0
(gdb) p pi->extra->vrfleak->bgp_orig
Cannot access memory at address 0x8
```
Added NOT NULL check on pi->extra->vrfleak before accessing pi->extra->vrfleak->bgp_orig
to prevent the segmentation fault.

Signed-off-by: Manpreet Kaur <manpreetk@nvidia.com>
(cherry picked from commit bc1008b970541c090e36fc1d50c720df822fcb99)
bgpd/bgp_route.c