BUG/MEDIUM: h3: do not crash on invalid response status code
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 29 Jan 2024 12:47:44 +0000 (13:47 +0100)
committerWilly Tarreau <w@1wt.eu>
Wed, 31 Jan 2024 14:51:11 +0000 (15:51 +0100)
commitde9d2c019671dd22913b77b76ff3242cf72c554e
treed94cfae73873161f8c153758c97c18b6bd8bb7f5
parent45bc09c37bae81a23b59149e95abccce16aea059
BUG/MEDIUM: h3: do not crash on invalid response status code

A crash occurs in h3_resp_headers_send() if an invalid response code is
received from the backend side. Fix this by properly flagging the
connection on error. This will cause a CONNECTION_CLOSE.

This should fix github issue #2422.

Big thanks to ygkim (@yokim-git) for his help and reactivity. Initially,
GDB reported an invalid code source location due to heavy functions
inlining inside h3_snd_buf(). The issue was found after using -Og flag.

This must be backported up to 2.6.

(cherry picked from commit 5d2fe1871a1ec4ec68a8ed262f4526e02e8e9fc1)
[wt: dropped H3_EV_TX_FRAME from trace flags]
Signed-off-by: Willy Tarreau <w@1wt.eu>
src/h3.c