From: Donald Sharp Date: Wed, 11 Oct 2017 12:09:28 +0000 (-0400) Subject: zebra: Always read full zapi message in ptm code X-Git-Tag: frr-4.0-dev~195^2~16 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=bf6e101c16954da71e563aa9093e02f1853ab94b;p=mirror%2Ffrr.git 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 --- 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);