On bad traffic the parser could allocated memory that was not
intialized. This was later used in the JSON output logging as
a valid null terminated string.
uint16_t sni_len = ntohs(*(uint16_t *)input);
input += 2;
+ if (!(HAS_SPACE(sni_len)))
+ goto end;
+
size_t sni_strlen = sni_len + 1;
ssl_state->curr_connp->sni = SCMalloc(sni_strlen);
if (unlikely(ssl_state->curr_connp->sni == NULL))
goto end;
- if (!(HAS_SPACE(sni_len)))
- goto end;
-
memcpy(ssl_state->curr_connp->sni, input,
sni_strlen - 1);
ssl_state->curr_connp->sni[sni_strlen-1] = 0;