From fa4c7626bde98f20700172984f7bd07c285406ba Mon Sep 17 00:00:00 2001 From: Philippe Antoine Date: Mon, 23 Aug 2021 15:03:51 +0200 Subject: [PATCH] http2: null check during upgrade --- src/app-layer-http2.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/app-layer-http2.c b/src/app-layer-http2.c index 76e742c075..22bd55eab7 100644 --- a/src/app-layer-http2.c +++ b/src/app-layer-http2.c @@ -81,9 +81,13 @@ void HTTP2MimicHttp1Request(void *alstate_orig, void *h2s) // may happen if we only got the reply, not the HTTP1 request return; } - + // else rs_http2_tx_set_method(h2s, bstr_ptr(h1tx->request_method), bstr_len(h1tx->request_method)); - rs_http2_tx_set_uri(h2s, bstr_ptr(h1tx->request_uri), bstr_len(h1tx->request_uri)); + if (h1tx->request_uri != NULL) { + // A request line without spaces gets interpreted as a request_method + // and has request_uri=NULL + rs_http2_tx_set_uri(h2s, bstr_ptr(h1tx->request_uri), bstr_len(h1tx->request_uri)); + } size_t nbheaders = htp_table_size(h1tx->request_headers); for (size_t i = 0; i < nbheaders; i++) { htp_header_t *h = htp_table_get_index(h1tx->request_headers, i, NULL);