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.1.11~61 X-Git-Url: http://git.haproxy.org/?a=commitdiff_plain;h=715a80c129ef6e2e0cc8adda1511e32c4926bf33;p=haproxy-2.1.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. (cherry picked from commit f9e51beec118f1bbd558ed689fdad35046160529) Signed-off-by: Christopher Faulet (cherry picked from commit cd24d5cfbe58bf2b25a76d077a0923053cbf7838) Signed-off-by: Christopher Faulet (cherry picked from commit c4b0ea55b105ae65d9580e7b915460645f0be2fa) Signed-off-by: Christopher Faulet --- diff --git a/src/peers.c b/src/peers.c index fb7f80f..c05a96e 100644 --- a/src/peers.c +++ b/src/peers.c @@ -1511,8 +1511,9 @@ 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) { + goto malformed_unlock; + } /* IDs sent over the network are numbered from 1. */ de = dc->rx[id - 1].de; }