]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
app-layer-ssl: make sure that JA3 stuff is only initialized once
authorMats Klepsland <mats.klepsland@gmail.com>
Sat, 25 Aug 2018 19:50:05 +0000 (21:50 +0200)
committerVictor Julien <victor@inliniac.net>
Wed, 29 Aug 2018 10:22:54 +0000 (12:22 +0200)
Avoid possible memory leaks by making sure that JA3 buffer and
string is only initialized once.

src/app-layer-ssl.c

index 7ee33798d6a6ab45f4bfc9cf082824060a6dcbd7..42c306730a800f40b1388ec7ac6573daf8146f4c 100644 (file)
@@ -560,7 +560,7 @@ static inline int TLSDecodeHSHelloVersion(SSLState *ssl_state,
     }
 
     if ((ssl_state->current_flags & SSL_AL_FLAG_STATE_CLIENT_HELLO) &&
-            ssl_config.enable_ja3) {
+            ssl_config.enable_ja3 && ssl_state->ja3_str == NULL) {
         uint16_t version = *input << 8 | *(input + 1);
 
         ssl_state->ja3_str = Ja3BufferInit();
@@ -1096,7 +1096,7 @@ static int TLSDecodeHandshakeHello(SSLState *ssl_state,
         goto end;
 
     if ((ssl_state->current_flags & SSL_AL_FLAG_STATE_CLIENT_HELLO) &&
-            ssl_config.enable_ja3) {
+            ssl_config.enable_ja3 && ssl_state->ja3_hash == NULL) {
         ssl_state->ja3_hash = Ja3GenerateHash(ssl_state->ja3_str);
     }