Make sure to always check the return codes of DetectBufferSetActiveList.
Also, force this warning on function prototype.
Closes redmine ticket #3005.
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__ */
return -1;
}
- DetectBufferSetActiveList(s, DetectBufferTypeGetByName("file_data"));
+ if (DetectBufferSetActiveList(s, DetectBufferTypeGetByName("file_data")) < 0)
+ return -1;
SetupDetectEngineConfig(de_ctx);
return 0;
*/
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;
}
*/
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;
}
*/
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;
}
*/
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;
}
*/
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;
}