]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
tls-sni: fix alignment issues 2073/head
authorMats Klepsland <mats.klepsland@gmail.com>
Thu, 12 May 2016 09:54:05 +0000 (11:54 +0200)
committerMats Klepsland <mats.klepsland@gmail.com>
Thu, 12 May 2016 11:45:01 +0000 (13:45 +0200)
src/app-layer-ssl.c

index 44b4f579290b3b89a98cc9fd0be9bf751922b333..952663f9b0456a2a2b211b67a752bb853ebc2b5a 100644 (file)
@@ -167,7 +167,7 @@ static int SSLv3ParseHandshakeType(SSLState *ssl_state, uint8_t *input,
                 goto end;
 
             /* skip cipher suites */
-            uint16_t cipher_suites_length = ntohs(*(uint16_t *)input);
+            uint16_t cipher_suites_length = input[0] << 8 | input[1];
             input += 2;
 
             input += cipher_suites_length;
@@ -183,7 +183,7 @@ static int SSLv3ParseHandshakeType(SSLState *ssl_state, uint8_t *input,
             if (!(HAS_SPACE(2)))
                 goto end;
 
-            uint16_t extensions_len = ntohs(*(uint16_t *)input);
+            uint16_t extensions_len = input[0] << 8 | input[1];
             input += 2;
 
             uint16_t processed_len = 0;
@@ -192,16 +192,15 @@ static int SSLv3ParseHandshakeType(SSLState *ssl_state, uint8_t *input,
                 if (!(HAS_SPACE(2)))
                     goto end;
 
-                uint16_t ext_type = ntohs(*(uint16_t *)input);
+                uint16_t ext_type = input[0] << 8 | input[1];
                 input += 2;
 
                 if (!(HAS_SPACE(2)))
                     goto end;
 
-                uint16_t ext_len = ntohs(*(uint16_t *)input);
+                uint16_t ext_len = input[0] << 8 | input[1];
                 input += 2;
 
-
                 switch (ext_type) {
                     case SSL_EXTENSION_SNI:
                     {
@@ -234,7 +233,7 @@ static int SSLv3ParseHandshakeType(SSLState *ssl_state, uint8_t *input,
                         if (!(HAS_SPACE(2)))
                             goto end;
 
-                        uint16_t sni_len = ntohs(*(uint16_t *)input);
+                        uint16_t sni_len = input[0] << 8 | input[1];
                         input += 2;
 
                         if (!(HAS_SPACE(sni_len)))