]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: send-proxy-v2: fix dest_len in make_tlv call
authorEmmanuel Hocdet <manu@gandi.net>
Tue, 31 Oct 2017 17:24:05 +0000 (18:24 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 1 Nov 2017 06:57:42 +0000 (07:57 +0100)
Subtract already allocated size from buf_len.

src/connection.c

index 2e081d8ac9a417d96331db43a6cd021669d20896..2fa2f05f822cc9c7402f0b4c11c063a737eac264 100644 (file)
@@ -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