Go to file
Keelan10 9d659b167d bgpd: Fix memory leak
The `bgp_vrf->vrf_prd_pretty` string was not properly freed, leading to a memory leak.
This commit resolves the memory leak by freeing the memory allocated for `bgp_vrf->vrf_prd_pretty` before returning from the function.

The ASan leak log for reference:
```
***********************************************************************************
Address Sanitizer Error detected in evpn_type5_test_topo1.test_evpn_type5_topo1/e1.asan.bgpd.17689

=================================================================
==17689==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 15 byte(s) in 1 object(s) allocated from:
    #0 0x7fdd94fc0538 in strdup (/usr/lib/x86_64-linux-gnu/libasan.so.4+0x77538)
    #1 0x55e28d9c4c6c in qstrdup lib/memory.c:117
    #2 0x55e28d6c0d27 in evpn_configure_vrf_rd bgpd/bgp_evpn_vty.c:2297
    #3 0x55e28d6c0d27 in bgp_evpn_vrf_rd bgpd/bgp_evpn_vty.c:6271
    #4 0x55e28d94c155 in cmd_execute_command_real lib/command.c:994
    #5 0x55e28d94c622 in cmd_execute_command lib/command.c:1053
    #6 0x55e28d94ca99 in cmd_execute lib/command.c:1221
    #7 0x55e28da6d7d4 in vty_command lib/vty.c:591
    #8 0x55e28da6dc6e in vty_execute lib/vty.c:1354
    #9 0x55e28da7644d in vtysh_read lib/vty.c:2362
    #10 0x55e28da616e2 in event_call lib/event.c:1995
    #11 0x55e28d9a7a65 in frr_run lib/libfrr.c:1213
    #12 0x55e28d63ef00 in main bgpd/bgp_main.c:505
    #13 0x7fdd93883c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

SUMMARY: AddressSanitizer: 15 byte(s) leaked in 1 allocation(s).
***********************************************************************************
```

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
2023-07-05 22:17:48 +04:00
.github github: Add rebase label on PR if it's > 50 commits behind 2023-05-09 09:37:23 +03:00
alpine docker: Enable Lua (scripting) for Alpine images 2023-04-08 21:04:07 +03:00
babeld Merge pull request #13333 from donaldsharp/vrf_bitmap_cleanup 2023-07-04 22:11:11 +03:00
bfdd Merge pull request #13675 from zmw12306/bfd_version_check 2023-06-11 14:16:50 +03:00
bgpd bgpd: Fix memory leak 2023-07-05 22:17:48 +04:00
debian debian, redhat: updating changelog for new release 2023-06-06 15:21:30 -05:00
doc Merge pull request #13836 from pguibert6WIND/set_aspath_replace_with_configured_asn 2023-06-30 12:39:55 +03:00
docker docker: ubuntu-ci 18.04 -> 22.04, topotest parallel run examples 2023-06-09 03:19:20 -04:00
eigrpd *: Rearrange vrf_bitmap_X api to reduce memory footprint 2023-06-26 14:59:21 -04:00
fpm *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
gdb *: Rename thread.[ch] to event.[ch] 2023-03-24 08:32:16 -04:00
grpc *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
include Merge pull request #12780 from opensourcerouting/spdx-license-id 2023-02-17 09:43:05 -05:00
isisd Merge pull request #13333 from donaldsharp/vrf_bitmap_cleanup 2023-07-04 22:11:11 +03:00
ldpd ldpd: Stop and free synchronous Zebra client on destroy 2023-06-27 11:47:50 +03:00
lib Merge pull request #13333 from donaldsharp/vrf_bitmap_cleanup 2023-07-04 22:11:11 +03:00
m4 build: fix sed regex in Lua macro 2022-12-08 12:39:17 +01:00
mgmtd mgmtd: convert map to darr use allowing dynamic registrations 2023-06-27 18:00:56 -04:00
mlag build: fix AM_LDFLAGS usage (and gcov) 2021-07-21 17:10:08 +02:00
nhrpd nhrpd: Fix nhrpd memory leak 2023-04-24 11:18:39 +04:00
ospf6d Merge pull request #13333 from donaldsharp/vrf_bitmap_cleanup 2023-07-04 22:11:11 +03:00
ospfclient *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
ospfd Merge pull request #13333 from donaldsharp/vrf_bitmap_cleanup 2023-07-04 22:11:11 +03:00
pathd pathd: Stop and free synchronous Zebra client on pathd termination 2023-06-26 16:31:53 +03:00
pbrd pbrd: fix crash with match command 2023-06-28 21:46:47 +08:00
pceplib *: auto-convert to SPDX License IDs 2023-02-09 14:09:11 +01:00
pimd Merge pull request #13467 from patrasar/pimv6_state_fix 2023-07-04 21:37:20 +03:00
pkgsrc mgmtd: Bringup MGMTD daemon and datastore module support 2023-03-21 22:08:32 -04:00
python mgmtd: fully implement debug flags for mgmtd and clients 2023-05-01 13:47:12 -04:00
qpb mgmtd: Bringup MGMTD daemon and datastore module support 2023-03-21 22:08:32 -04:00
redhat debian, redhat: updating changelog for new release 2023-06-06 15:21:30 -05:00
ripd Revert "ripd: Cleanup memory allocations on shutdown" 2023-06-15 17:43:40 +03:00
ripngd Merge pull request #13826 from opensourcerouting/fix/ripng_match_ipv6_acls 2023-06-27 11:31:23 -04:00
sharpd sharpd: support opaque zapi notifications 2023-06-23 08:57:37 -04:00
snapcraft snapcraft: Add pim6 daemon for PIM IPv6 to snap package 2022-11-19 12:52:36 +01:00
staticd Merge pull request #13838 from ak503/static_bfd_vrf 2023-06-27 11:34:50 -04:00
tests Merge pull request #13916 from pguibert6WIND/vpnv4_asbr_test_complement 2023-07-03 08:34:01 -04:00
tools tools: fix pim interface config deletion 2023-06-29 18:09:05 -07:00
vrrpd Merge pull request #13731 from cyberstorm-mauritius/cid1519841 2023-06-21 23:15:41 +05:30
vtysh mgmtd: KISS the locking code 2023-06-19 00:13:28 -04:00
watchfrr *: Convert event.h to frrevent.h 2023-03-24 08:32:17 -04:00
yang bgpd: add colored extended communities support 2023-06-26 14:27:27 +02:00
zebra Merge pull request #13875 from donaldsharp/static_dplane_issues 2023-07-05 08:27:23 -04:00
.clang-format lib: add dynamic array type 2023-06-27 18:00:56 -04:00
.dockerignore docker: Make docker image on CentOS 7 2019-11-26 19:29:30 +00:00
.flake8 style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.git-blame-ignore-revs tools: Ignore mass renaming of topotests for git blame 2021-05-11 14:14:26 +03:00
.gitignore doc: configure: add configure option to generate .ccls file 2023-05-18 09:32:32 -04:00
.isort.cfg style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.pylintrc style: add format checker config that matches FRR style standards 2023-04-18 05:18:26 -04:00
.travis.yml lib: libyang2 add missed conversion 2021-05-17 22:13:59 -04:00
bootstrap.sh build: turn on automake warnings (& symlinks) 2021-04-21 15:42:37 +02:00
buildtest.sh *: manual SPDX License ID conversions 2023-02-09 14:09:07 +01:00
config.version.in build: carry --with-pkg-extra-version into tarballs 2018-10-24 15:11:50 +02:00
configure.ac build: FRR 9.1 development version 2023-06-06 14:03:19 -05:00
COPYING *: sort out & explain licenses used in FRR 2023-02-09 12:46:13 +01:00
Makefile.am build: clean up mgmtd lib protobuf make syntax 2023-03-27 16:44:27 -04:00
README.md doc: Fix the link that points to Slack invitation in README 2022-03-24 13:13:37 +02:00
stamp-h.in Initial revision 2002-12-13 20:15:29 +00:00
version.h build: make builddir include path consistent 2021-04-21 15:42:33 +02:00

Icon

FRRouting

FRR is free software that implements and manages various IPv4 and IPv6 routing protocols. It runs on nearly all distributions of Linux and BSD and supports all modern CPU architectures.

FRR currently supports the following protocols:

  • BGP
  • OSPFv2
  • OSPFv3
  • RIPv1
  • RIPv2
  • RIPng
  • IS-IS
  • PIM-SM/MSDP
  • LDP
  • BFD
  • Babel
  • PBR
  • OpenFabric
  • VRRP
  • EIGRP (alpha)
  • NHRP (alpha)

Installation & Use

For source tarballs, see the releases page.

For Debian and its derivatives, use the APT repository at https://deb.frrouting.org/.

Instructions on building and installing from source for supported platforms may be found in the developer docs.

Once installed, please refer to the user guide for instructions on use.

Community

The FRRouting email list server is located here and offers the following public lists:

Topic List
Development dev@lists.frrouting.org
Users & Operators frog@lists.frrouting.org
Announcements announce@lists.frrouting.org

For chat, we currently use Slack. You can join by clicking the "Slack" link under the Participate section of our website.

Contributing

FRR maintains developer's documentation which contains the project workflow and expectations for contributors. Some technical documentation on project internals is also available.

We welcome and appreciate all contributions, no matter how small!

Security

To report security issues, please use our security mailing list:

security [at] lists.frrouting.org