From: Emmanuel Hocdet Date: Tue, 31 Oct 2017 17:24:05 +0000 (+0100) Subject: BUG/MINOR: send-proxy-v2: fix dest_len in make_tlv call X-Git-Tag: v1.8-rc2~19 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=571c7ac0a56bc100ab2cbb8d790e281d1b5de9e8;p=thirdparty%2Fhaproxy.git BUG/MINOR: send-proxy-v2: fix dest_len in make_tlv call Subtract already allocated size from buf_len. --- diff --git a/src/connection.c b/src/connection.c index 2e081d8ac9..2fa2f05f82 100644 --- a/src/connection.c +++ b/src/connection.c @@ -1039,7 +1039,7 @@ int make_proxy_line_v2(char *buf, int buf_len, struct server *srv, struct connec if (conn_get_alpn(remote, &value, &value_len)) { if ((buf_len - ret) < sizeof(struct tlv)) return 0; - ret += make_tlv(&buf[ret], buf_len, PP2_TYPE_ALPN, value_len, value); + ret += make_tlv(&buf[ret], (buf_len - ret), PP2_TYPE_ALPN, value_len, value); } #ifdef USE_OPENSSL @@ -1081,7 +1081,7 @@ int make_proxy_line_v2(char *buf, int buf_len, struct server *srv, struct connec if (remote && (remote->proxy_netns)) { if ((buf_len - ret) < sizeof(struct tlv)) return 0; - ret += make_tlv(&buf[ret], buf_len, PP2_TYPE_NETNS, remote->proxy_netns->name_len, remote->proxy_netns->node.key); + ret += make_tlv(&buf[ret], (buf_len - ret), PP2_TYPE_NETNS, remote->proxy_netns->name_len, remote->proxy_netns->node.key); } #endif