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.
This commit is contained in:
Frdric Lcaille 2020-11-12 19:53:11 +01:00 committed by Willy Tarreau
parent d865935f32
commit f9e51beec1

View file

@ -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;
}