From: Philippe Antoine Date: Mon, 23 Aug 2021 13:03:51 +0000 (+0200) Subject: http2: null check during upgrade X-Git-Tag: suricata-6.0.4~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a422acb3c04ec1cefd828a862e1eef236219d917;p=thirdparty%2Fsuricata.git http2: null check during upgrade (cherry picked from commit fa4c7626bde98f20700172984f7bd07c285406ba) --- diff --git a/src/app-layer-http2.c b/src/app-layer-http2.c index 6285be9dd9..d83537f7f9 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);