]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
app-layer: fix coverity warnings
authorVictor Julien <victor@inliniac.net>
Fri, 19 Jun 2015 11:39:30 +0000 (13:39 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 19 Jun 2015 11:39:30 +0000 (13:39 +0200)
src/app-layer-dcerpc-udp.c
src/app-layer-dcerpc.c
src/app-layer-dns-tcp.c
src/app-layer-ftp.c
src/app-layer-modbus.c
src/app-layer-smb2.c
src/app-layer-smtp.c
src/app-layer-ssh.c
src/app-layer-ssl.c

index e42c96804e4e5153746b8ee68b4554ef3c4f7bbd..58d714d040f4b1320787439697fe16ab4b432900 100644 (file)
@@ -716,6 +716,8 @@ static int DCERPCUDPParse(Flow *f, void *dcerpc_state,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
        DCERPCUDPState *sstate = (DCERPCUDPState *) dcerpc_state;
index bbfb33006790810bdf46329ece3d5a5f34baaa17..44705ea970a2b33f3db8a9d131e5bb7709b8cda4 100644 (file)
@@ -1913,6 +1913,8 @@ static int DCERPCParse(Flow *f, void *dcerpc_state,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     if (sstate->dcerpc.bytesprocessed != 0 && sstate->data_needed_for_dir != dir) {
index 80a48507ee4dd0fc66186e80907bf62ad345afdc..f1cb597d2aef2ad0a97b5dfdeb19ba4ff3eadfc0 100644 (file)
@@ -503,7 +503,7 @@ static int DNSTCPResponseParse(Flow *f, void *dstate,
         SCReturnInt(-1);
 
     /* probably a rst/fin sending an eof */
-    if (input_len == 0) {
+    if (input == NULL || input_len == 0) {
         goto insufficient_data;
     }
 
index 1ba1844615375c022ae47a97c2aafe2759be7f1a..b5d4a03d98ec16404c11be0e66601b68296dedaf 100644 (file)
@@ -221,6 +221,8 @@ static int FTPParseRequest(Flow *f, void *ftp_state,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     state->input = input;
index 9e9ba03741bed6e59a129f51ae04460e6c06ef56..fa965135d394c3218529a75e5d9aff8260155805 100644 (file)
@@ -1229,6 +1229,8 @@ static int ModbusParseRequest(Flow                  *f,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     while (input_len > 0) {
@@ -1290,6 +1292,8 @@ static int ModbusParseResponse(Flow                 *f,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     while (input_len > 0) {
index 3c591e913a2c38f317ac38d84eec8d90ca1748c5..f412e1dfeebb58008c5c94396fdde07ae1e59285 100644 (file)
@@ -534,6 +534,8 @@ static int SMB2Parse(Flow *f, void *smb2_state, AppLayerParserState *pstate,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     while (sstate->bytesprocessed <  NBSS_HDR_LEN && input_len) {
index 7f398a6e7d65a02e59b5e0b65fa7335127b2cd4a..1951613d1f3a2cb740582a7fed0517e0d6b1984f 100644 (file)
@@ -1067,6 +1067,8 @@ static int SMTPParse(int direction, Flow *f, SMTPState *state,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     state->input = input;
index fda60c1cf50b7986cc4c741ec5c1d009d983075f..879c77466557ca302f8ea16042cbbf67ce04047a 100644 (file)
@@ -424,6 +424,8 @@ static int SSHParseRequest(Flow *f, void *state, AppLayerParserState *pstate,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     int r = SSHParseData(ssh_state, ssh_header, input, input_len);
@@ -446,6 +448,8 @@ static int SSHParseResponse(Flow *f, void *state, AppLayerParserState *pstate,
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     int r = SSHParseData(ssh_state, ssh_header, input, input_len);
index 0800c1db3d80c5f1af256db0a55885fdd2338e0f..5fb41ba15a21b3d45dc3befe7e59a42e2b955cbf 100644 (file)
@@ -976,6 +976,8 @@ static int SSLDecode(Flow *f, uint8_t direction, void *alstate, AppLayerParserSt
 
     if (input == NULL && AppLayerParserStateIssetFlag(pstate, APP_LAYER_PARSER_EOF)) {
         SCReturnInt(1);
+    } else if (input == NULL || input_len == 0) {
+        SCReturnInt(-1);
     }
 
     if (direction == 0)