diff options
| author | David Lamparter <equinox@opensourcerouting.org> | 2020-01-15 14:04:44 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-15 14:04:44 +0100 |
| commit | f014634e8527e198760a7b14600908f9dd21e45c (patch) | |
| tree | df1ca2dadc901d801239f91a42c64c93212d6ef7 | |
| parent | dea7e8d6f710b9014197b31258db0ad45afc1d9b (diff) | |
| parent | 011a7139156b8979e3f030b8b7138cdb3ac0f411 (diff) | |
Merge pull request #5677 from qlyoung/fix-my-bfd-screwups
zebra: bfd message handling cleanup foo
| -rw-r--r-- | zebra/zebra_ptm.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/zebra/zebra_ptm.c b/zebra/zebra_ptm.c index 757623a04e..d7bbe779bd 100644 --- a/zebra/zebra_ptm.c +++ b/zebra/zebra_ptm.c @@ -1295,6 +1295,7 @@ static void zebra_ptm_send_bfdd(struct stream *msg) } stream_free(msgc); + stream_free(msg); } static void zebra_ptm_send_clients(struct stream *msg) @@ -1326,6 +1327,7 @@ static void zebra_ptm_send_clients(struct stream *msg) } stream_free(msgc); + stream_free(msg); } static int _zebra_ptm_bfd_client_deregister(struct zserv *zs) @@ -1367,8 +1369,6 @@ static int _zebra_ptm_bfd_client_deregister(struct zserv *zs) zebra_ptm_send_bfdd(msg); - stream_free(msg); - pp_free(pp); return 0; @@ -1423,6 +1423,7 @@ static void _zebra_ptm_reroute(struct zserv *zs, struct zebra_vrf *zvrf, stream_putw_at(msgc, 0, STREAM_READABLE(msgc)); zebra_ptm_send_bfdd(msgc); + msgc = NULL; /* Registrate process PID for shutdown hook. */ STREAM_GETL(msg, ppid); @@ -1431,7 +1432,8 @@ static void _zebra_ptm_reroute(struct zserv *zs, struct zebra_vrf *zvrf, return; stream_failure: - stream_free(msgc); + if (msgc) + stream_free(msgc); zlog_err("%s:%d failed to registrate client pid", __FILE__, __LINE__); } |
