From: Philippe Antoine Date: Mon, 1 Apr 2019 12:57:15 +0000 (+0200) Subject: ssh : code style consistency X-Git-Tag: suricata-5.0.0-beta1~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff52bb14b7f5a15b906ac92cc2b74d74419f360a;p=thirdparty%2Fsuricata.git ssh : code style consistency Adds SSH_FLAG_VERSION_PARSED to flags before each return This way, we are sure SSHParseBanner does not get called again And proto_version does not get leaked --- diff --git a/src/app-layer-ssh.c b/src/app-layer-ssh.c index 3527fd33e0..344fd80071 100644 --- a/src/app-layer-ssh.c +++ b/src/app-layer-ssh.c @@ -125,11 +125,13 @@ static int SSHParseBanner(SshState *state, SshHeader *header, const uint8_t *inp /* sanity check on this arithmetic */ if ((sw_ver_len <= 1) || (sw_ver_len >= input_len)) { SCLogDebug("Should not have sw version length '%" PRIu64 "'", sw_ver_len); + header->flags |= SSH_FLAG_VERSION_PARSED; SCReturnInt(-1); } header->software_version = SCMalloc(sw_ver_len + 1); if (header->software_version == NULL) { + header->flags |= SSH_FLAG_VERSION_PARSED; SCReturnInt(-1); } memcpy(header->software_version, line_ptr, sw_ver_len);