mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-21 21:26:58 +00:00
MINOR: h3: report error on HEADERS/DATA parsing
Inspect return code of HEADERS/DATA parsing functions and use a BUG_ON to signal an error. The stream should be closed to handle the error in a more clean fashion.
This commit is contained in:
parent
71f3abbb52
commit
31e4f6e149
9
src/h3.c
9
src/h3.c
@ -231,6 +231,7 @@ static int h3_data_to_htx(struct qcs *qcs, struct buffer *buf, uint64_t len,
|
||||
static int h3_decode_qcs(struct qcs *qcs, int fin, void *ctx)
|
||||
{
|
||||
struct buffer *rxbuf = &qcs->rx.buf;
|
||||
int ret;
|
||||
|
||||
h3_debug_printf(stderr, "%s: STREAM ID: %llu\n", __func__, qcs->by_id.key);
|
||||
if (!b_data(rxbuf))
|
||||
@ -261,10 +262,14 @@ static int h3_decode_qcs(struct qcs *qcs, int fin, void *ctx)
|
||||
|
||||
switch (ftype) {
|
||||
case H3_FT_DATA:
|
||||
h3_data_to_htx(qcs, rxbuf, flen, last_stream_frame);
|
||||
ret = h3_data_to_htx(qcs, rxbuf, flen, last_stream_frame);
|
||||
/* TODO handle error reporting. Stream closure required. */
|
||||
BUG_ON(ret);
|
||||
break;
|
||||
case H3_FT_HEADERS:
|
||||
h3_headers_to_htx(qcs, rxbuf, flen, last_stream_frame);
|
||||
ret = h3_headers_to_htx(qcs, rxbuf, flen, last_stream_frame);
|
||||
/* TODO handle error reporting. Stream closure required. */
|
||||
BUG_ON(ret);
|
||||
break;
|
||||
case H3_FT_PUSH_PROMISE:
|
||||
/* Not supported */
|
||||
|
Loading…
Reference in New Issue
Block a user