From 4328b61bb33f99d902eb8bf6b4b8fb6423dbee0b Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Thu, 15 Dec 2022 09:27:34 +0100 Subject: [PATCH] MINOR: http-htx: add BUG_ON to prevent API error on http_cookie_register 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 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/http_htx.c b/src/http_htx.c index 5cb0b2948..2978f2eb4 100644 --- a/src/http_htx.c +++ b/src/http_htx.c @@ -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) {