From: Frédéric Lécaille Date: Thu, 12 Nov 2020 18:53:11 +0000 (+0100) Subject: BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries. X-Git-Tag: v2.4-dev1~59 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=f9e51beec118f1bbd558ed689fdad35046160529;p=haproxy-2.5.git BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries. If we could not decode the ID of a dictionary entry from a peer update message, we must inform the remote peer about such an error as this is done for any other decoding error. --- diff --git a/src/peers.c b/src/peers.c index 276e5ce..9a0f3cb 100644 --- a/src/peers.c +++ b/src/peers.c @@ -1609,8 +1609,11 @@ static int peer_treat_updatemsg(struct appctx *appctx, struct peer *p, int updt, dc = p->dcache; if (*msg_cur == end) { /* Dictionary entry key without value. */ - if (id > dc->max_entries) - break; + if (id > dc->max_entries) { + TRACE_PROTO("malformed message", PEERS_EV_UPDTMSG, + NULL, p, NULL, &id); + goto malformed_unlock; + } /* IDs sent over the network are numbered from 1. */ de = dc->rx[id - 1].de; }