]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: http-htx: add BUG_ON to prevent API error on http_cookie_register
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 15 Dec 2022 08:27:34 +0000 (09:27 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 15 Dec 2022 10:41:39 +0000 (11:41 +0100)
http_cookie_register() must be called on first invocation with the last
two arguments pointing both to a negative value. After it, they will be
updated to a valid index.

We must never have only the last argument as NULL as this will cause an
invalid array addressing. To clarify this a BUG_ON statement is
introduced.

This is linked to github issue #1967.

src/http_htx.c

index 5cb0b2948fa61fa3e3a995a507a50470d7841179..2978f2eb409e1d21772d517df33a71417e5545b6 100644 (file)
@@ -1817,6 +1817,11 @@ void http_cookie_register(struct http_hdr *list, int idx, int *first, int *last)
         * the next one. The last entry will contains -1.
         */
 
+       /* Caller is responsible to initialize *first and *last to -1 on first
+        * invocation. Both will thus be set to a valid index after it.
+        */
+       BUG_ON(*first > 0 && *last < 0);
+
        /* Mark the current end of cookie linked list. */
        list[idx].n.len = -1;
        if (*first < 0) {