From a9d4cb33faa6af622240190a80f41c4672374925 Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Thu, 17 Sep 2015 10:54:25 -0400 Subject: lib/zclient: Consolidate error reporting for zclient_read_header All functions that call zclient_read_header immediately turn around and check to ensure that the version and marker fields are correct Move this code into zclient_read_header Signed-off-by: Donald Sharp --- lib/zclient.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/zclient.c') diff --git a/lib/zclient.c b/lib/zclient.c index a0956324..0ce46fef 100644 --- a/lib/zclient.c +++ b/lib/zclient.c @@ -315,6 +315,13 @@ zclient_read_header (struct stream *s, int sock, u_int16_t *size, u_char *marker *vrf_id = stream_getw (s); *cmd = stream_getw (s); + if (*version != ZSERV_VERSION || *marker != ZEBRA_HEADER_MARKER) + { + zlog_err("%s: socket %d version mismatch, marker %d, version %d", + __func__, sock, *marker, *version); + return -1; + } + if (*size && stream_read (s, sock, *size) != *size) return -1; -- cgit v1.2.3