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);