]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
src/detect: check DetectBufferSetActiveList return code
authorShivani Bhardwaj <shivanib134@gmail.com>
Sat, 10 Aug 2019 18:05:04 +0000 (23:35 +0530)
committerVictor Julien <victor@inliniac.net>
Tue, 20 Aug 2019 11:56:03 +0000 (13:56 +0200)
Make sure to always check the return codes of DetectBufferSetActiveList.
Also, force this warning on function prototype.

Closes redmine ticket #3005.

src/detect-engine.h
src/detect-file-data.c
src/detect-http-cookie.c
src/detect-http-stat-code.c
src/detect-http-stat-msg.c
src/detect-http-uri.c

index 02882f52fe309f1ae26fca8d976c6fcd9f37f863..1e877a06c31cfc3e761cf08a86ab8a28a0a88b39 100644 (file)
@@ -164,7 +164,7 @@ void DetectEngineSetParseMetadata(void);
 void DetectEngineUnsetParseMetadata(void);
 int DetectEngineMustParseMetadata(void);
 
-int DetectBufferSetActiveList(Signature *s, const int list);
+int WARN_UNUSED DetectBufferSetActiveList(Signature *s, const int list);
 int DetectBufferGetActiveList(DetectEngineCtx *de_ctx, Signature *s);
 
 #endif /* __DETECT_ENGINE_H__ */
index d47f6c5e595b2d6d0e46cda9038c63f4e4da6504..6065ed04f2d91b28f698cb6a7998bf6fb6f22b01 100644 (file)
@@ -190,7 +190,8 @@ static int DetectFiledataSetup (DetectEngineCtx *de_ctx, Signature *s, const cha
         return -1;
     }
 
-    DetectBufferSetActiveList(s, DetectBufferTypeGetByName("file_data"));
+    if (DetectBufferSetActiveList(s, DetectBufferTypeGetByName("file_data")) < 0)
+        return -1;
 
     SetupDetectEngineConfig(de_ctx);
     return 0;
index 84030b0ddbb8dd79d30ca8a4d1f5a7690894b925..d9443b0e69d1ebb255473adddb1aad888f5a226c 100644 (file)
@@ -152,7 +152,9 @@ static int DetectHttpCookieSetup(DetectEngineCtx *de_ctx, Signature *s, const ch
  */
 static int DetectHttpCookieSetupSticky(DetectEngineCtx *de_ctx, Signature *s, const char *str)
 {
-    DetectBufferSetActiveList(s, g_http_cookie_buffer_id);
+    if (DetectBufferSetActiveList(s, g_http_cookie_buffer_id) < 0)
+        return -1;
+
     s->alproto = ALPROTO_HTTP;
     return 0;
 }
index da191ea4693fd832fddc06b92c9a776cdd38c0e2..7a5cdf6b14cda892c796387381a3c7eb434b445f 100644 (file)
@@ -140,7 +140,8 @@ static int DetectHttpStatCodeSetup(DetectEngineCtx *de_ctx, Signature *s, const
  */
 static int DetectHttpStatCodeSetupSticky(DetectEngineCtx *de_ctx, Signature *s, const char *str)
 {
-    DetectBufferSetActiveList(s, g_http_stat_code_buffer_id);
+    if (DetectBufferSetActiveList(s, g_http_stat_code_buffer_id) < 0)
+        return -1;
     s->alproto = ALPROTO_HTTP;
     return 0;
 }
index a38a3a9724c0a7097fd579960771221da335eb81..a5d08ba72dbb85939fc2ada154fac1e77e60a2d6 100644 (file)
@@ -140,7 +140,8 @@ static int DetectHttpStatMsgSetup(DetectEngineCtx *de_ctx, Signature *s, const c
  */
 static int DetectHttpStatMsgSetupSticky(DetectEngineCtx *de_ctx, Signature *s, const char *str)
 {
-    DetectBufferSetActiveList(s, g_http_stat_msg_buffer_id);
+    if (DetectBufferSetActiveList(s, g_http_stat_msg_buffer_id) < 0)
+        return -1;
     s->alproto = ALPROTO_HTTP;
     return 0;
 }
index 8a880b70f2520b0a3ca121e2513e611d8bd5e7e7..8df0ed562fdc91dc6c411d2b95f22676b353e57d 100644 (file)
@@ -202,7 +202,8 @@ static void DetectHttpUriSetupCallback(const DetectEngineCtx *de_ctx,
  */
 static int DetectHttpUriSetupSticky(DetectEngineCtx *de_ctx, Signature *s, const char *str)
 {
-    DetectBufferSetActiveList(s, g_http_uri_buffer_id);
+    if (DetectBufferSetActiveList(s, g_http_uri_buffer_id) < 0)
+        return -1;
     s->alproto = ALPROTO_HTTP;
     return 0;
 }
@@ -274,7 +275,8 @@ static void DetectHttpRawUriSetupCallback(const DetectEngineCtx *de_ctx,
  */
 static int DetectHttpRawUriSetupSticky(DetectEngineCtx *de_ctx, Signature *s, const char *str)
 {
-    DetectBufferSetActiveList(s, g_http_raw_uri_buffer_id);
+    if (DetectBufferSetActiveList(s, g_http_raw_uri_buffer_id) < 0)
+        return -1;
     s->alproto = ALPROTO_HTTP;
     return 0;
 }