diff --git a/tls.c b/tls.c index 3eec1f9..970584b 100644 --- a/tls.c +++ b/tls.c @@ -159,7 +159,8 @@ parse_tls_header(const struct TLSProtocol *tls_data, const char *data, size_t da /* By now we know it's TLS. if SNI or ALPN is set, parse extensions to see if * they match. Otherwise, it's a match already */ - if (tls_data->match_mode.tls_match_alpn || tls_data->match_mode.tls_match_sni) { + if (tls_data && + (tls_data->match_mode.tls_match_alpn || tls_data->match_mode.tls_match_sni)) { return parse_extensions(tls_data, data + pos, len); } else { return 1;