]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
ssh : code style consistency
authorPhilippe Antoine <contact@catenacyber.fr>
Mon, 1 Apr 2019 12:57:15 +0000 (14:57 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 19 Apr 2019 05:33:38 +0000 (07:33 +0200)
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

src/app-layer-ssh.c

index 3527fd33e058400128bd4226531eb12e162555d9..344fd8007143bd74d9dd88a38d732940d3749fa2 100644 (file)
@@ -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);