summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2020-01-15 14:04:44 +0100
committerGitHub <noreply@github.com>2020-01-15 14:04:44 +0100
commitf014634e8527e198760a7b14600908f9dd21e45c (patch)
treedf1ca2dadc901d801239f91a42c64c93212d6ef7
parentdea7e8d6f710b9014197b31258db0ad45afc1d9b (diff)
parent011a7139156b8979e3f030b8b7138cdb3ac0f411 (diff)
Merge pull request #5677 from qlyoung/fix-my-bfd-screwups
zebra: bfd message handling cleanup foo
-rw-r--r--zebra/zebra_ptm.c8
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__);
}