From 3fab21ea427dbb1dc3c45b9c3b8833dd0bc84941 Mon Sep 17 00:00:00 2001 From: Amaury Denoyelle Date: Thu, 21 May 2026 15:51:34 +0200 Subject: [PATCH] MINOR: mux_quic: do not crash on unhandled QMux frame reception Completes qmux_parse_frm() to ensure every frames allowed by QMux protocol are listed. For now, nothing is implemented except a CHECK_IF() to report such events. This is necessary to prevent a crash on abort. Frames not supported by QMux should already have been rejected prior via qmux_is_frm_valid(). --- src/qcm_qmux.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/qcm_qmux.c b/src/qcm_qmux.c index 308a9d44c..801ad3e10 100644 --- a/src/qcm_qmux.c +++ b/src/qcm_qmux.c @@ -95,8 +95,17 @@ static int qmux_parse_frm(struct qcc *qcc, struct buffer *buf) frm.type == QUIC_FT_STREAMS_BLOCKED_BIDI || frm.type == QUIC_FT_STREAMS_BLOCKED_UNI) { /* TODO */ + CHECK_IF("received flow control blocked frame not yet handled in QMux"); + } + else if (frm.type == QUIC_FT_PADDING) { + CHECK_IF("received padding frame not yet handled in QMux"); + } + else if (frm.type == QUIC_FT_CONNECTION_CLOSE || + frm.type == QUIC_FT_CONNECTION_CLOSE_APP) { + CHECK_IF("received connection_close frame not yet handled in QMux"); } else { + /* qmux_is_frm_valid() must prevent this */ ABORT_NOW(); }