diff --git a/tls.c b/tls.c index fc4ae38..d4fa561 100644 --- a/tls.c +++ b/tls.c @@ -215,7 +215,9 @@ parse_extensions(const struct TLSProtocol *tls_data, const char *data, size_t da } else if (extension_type == 0x00 && tls_data->use_alpn == 0) { /* Server Name */ return parse_server_name_extension(tls_data, data + pos + 4, len); } else if (extension_type == 0x10 && tls_data->use_alpn == 1) { /* ALPN */ - return parse_alpn_extension(tls_data, data + pos + 4, len); + if (parse_alpn_extension(tls_data, data + pos + 4, len) > 0) { + return 1; + } } pos += 4 + len; /* Advance to the next extension header */