From bf6e101c16954da71e563aa9093e02f1853ab94b Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Wed, 11 Oct 2017 08:09:28 -0400 Subject: [PATCH] zebra: Always read full zapi message in ptm code The ptm code when it encountered an error situation was not fully reading all the data in the stream meant for it. Ensure that this is read. Signed-off-by: Donald Sharp --- zebra/zebra_ptm.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zebra/zebra_ptm.c b/zebra/zebra_ptm.c index 93b0723d8b..12d7387ed7 100644 --- a/zebra/zebra_ptm.c +++ b/zebra/zebra_ptm.c @@ -961,6 +961,9 @@ int zebra_ptm_bfd_client_register(struct zserv *client, int sock, zlog_debug("bfd_client_register msg from client %s: length=%d", zebra_route_string(client->proto), length); + s = client->ibuf; + pid = stream_getl(s); + if (ptm_cb.ptm_sock == -1) { ptm_cb.t_timer = NULL; thread_add_timer(zebrad.master, zebra_ptm_connect, NULL, @@ -977,9 +980,6 @@ int zebra_ptm_bfd_client_register(struct zserv *client, int sock, ptm_lib_append_msg(ptm_hdl, out_ctxt, ZEBRA_PTM_BFD_CLIENT_FIELD, tmp_buf); - s = client->ibuf; - - pid = stream_getl(s); sprintf(tmp_buf, "%d", pid); ptm_lib_append_msg(ptm_hdl, out_ctxt, ZEBRA_PTM_BFD_SEQID_FIELD, tmp_buf); -- 2.39.5