From ade2b1e6cf348d61468f96021d4c51bd0ec4082f Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Thu, 30 May 2019 10:24:10 +0200 Subject: [PATCH] output: get rid of BUG_ONs --- src/output-file.c | 6 +++--- src/output-filedata.c | 9 +++++---- src/output-flow.c | 15 ++++++++------- src/output-packet.c | 15 ++++++++------- src/output-stats.c | 19 +++++++++---------- src/output-streaming.c | 21 +++++++++++---------- src/output-tx.c | 22 +++++++++++----------- 7 files changed, 55 insertions(+), 52 deletions(-) diff --git a/src/output-file.c b/src/output-file.c index fdded0572e..22137bb30b 100644 --- a/src/output-file.c +++ b/src/output-file.c @@ -124,7 +124,7 @@ static void OutputFileLogFfc(ThreadVars *tv, const OutputFileLogger *logger = list; const OutputLoggerThreadStore *store = op_thread_data->store; while (logger && store) { - BUG_ON(logger->LogFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL); SCLogDebug("logger %p", logger); PACKET_PROFILING_LOGGER_START(p, logger->logger_id); @@ -135,8 +135,8 @@ static void OutputFileLogFfc(ThreadVars *tv, logger = logger->next; store = store->next; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } if (file_logged) { diff --git a/src/output-filedata.c b/src/output-filedata.c index 0502c62a78..acc1e6a980 100644 --- a/src/output-filedata.c +++ b/src/output-filedata.c @@ -32,6 +32,7 @@ #include "detect-filemagic.h" #include "conf.h" #include "util-profiling.h" +#include "util-validate.h" typedef struct OutputLoggerThreadStore_ { void *thread_data; @@ -106,7 +107,7 @@ static int CallLoggers(ThreadVars *tv, OutputLoggerThreadStore *store_list, int file_logged = 0; while (logger && store) { - BUG_ON(logger->LogFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL); SCLogDebug("logger %p", logger); PACKET_PROFILING_LOGGER_START(p, logger->logger_id); @@ -118,8 +119,8 @@ static int CallLoggers(ThreadVars *tv, OutputLoggerThreadStore *store_list, logger = logger->next; store = store->next; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } return file_logged; } @@ -206,7 +207,7 @@ static void OutputFiledataLogFfc(ThreadVars *tv, OutputLoggerThreadStore *store, static TmEcode OutputFiledataLog(ThreadVars *tv, Packet *p, void *thread_data) { - BUG_ON(thread_data == NULL); + DEBUG_VALIDATE_BUG_ON(thread_data == NULL); if (list == NULL) { /* No child loggers. */ diff --git a/src/output-flow.c b/src/output-flow.c index 9552a86075..a30f99282e 100644 --- a/src/output-flow.c +++ b/src/output-flow.c @@ -27,6 +27,7 @@ #include "tm-modules.h" #include "output-flow.h" #include "util-profiling.h" +#include "util-validate.h" typedef struct OutputLoggerThreadStore_ { void *thread_data; @@ -89,7 +90,7 @@ int OutputRegisterFlowLogger(const char *name, FlowLogger LogFunc, */ TmEcode OutputFlowLog(ThreadVars *tv, void *thread_data, Flow *f) { - BUG_ON(thread_data == NULL); + DEBUG_VALIDATE_BUG_ON(thread_data == NULL); if (list == NULL) return TM_ECODE_OK; @@ -98,14 +99,14 @@ TmEcode OutputFlowLog(ThreadVars *tv, void *thread_data, Flow *f) OutputFlowLogger *logger = list; OutputLoggerThreadStore *store = op_thread_data->store; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); - BUG_ON(logger == NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store == NULL); logger = list; store = op_thread_data->store; while (logger && store) { - BUG_ON(logger->LogFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL); SCLogDebug("logger %p", logger); //PACKET_PROFILING_LOGGER_START(p, logger->module_id); @@ -115,8 +116,8 @@ TmEcode OutputFlowLog(ThreadVars *tv, void *thread_data, Flow *f) logger = logger->next; store = store->next; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } return TM_ECODE_OK; diff --git a/src/output-packet.c b/src/output-packet.c index 2d5d302786..45de33b1a1 100644 --- a/src/output-packet.c +++ b/src/output-packet.c @@ -28,6 +28,7 @@ #include "output.h" #include "output-packet.h" #include "util-profiling.h" +#include "util-validate.h" typedef struct OutputLoggerThreadStore_ { void *thread_data; @@ -92,7 +93,7 @@ int OutputRegisterPacketLogger(LoggerId logger_id, const char *name, static TmEcode OutputPacketLog(ThreadVars *tv, Packet *p, void *thread_data) { - BUG_ON(thread_data == NULL); + DEBUG_VALIDATE_BUG_ON(thread_data == NULL); if (list == NULL) { /* No child loggers. */ @@ -103,12 +104,12 @@ static TmEcode OutputPacketLog(ThreadVars *tv, Packet *p, void *thread_data) OutputPacketLogger *logger = list; OutputLoggerThreadStore *store = op_thread_data->store; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); - BUG_ON(logger == NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store == NULL); while (logger && store) { - BUG_ON(logger->LogFunc == NULL || logger->ConditionFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL || logger->ConditionFunc == NULL); if ((logger->ConditionFunc(tv, (const Packet *)p)) == TRUE) { PACKET_PROFILING_LOGGER_START(p, logger->logger_id); @@ -119,8 +120,8 @@ static TmEcode OutputPacketLog(ThreadVars *tv, Packet *p, void *thread_data) logger = logger->next; store = store->next; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } return TM_ECODE_OK; diff --git a/src/output-stats.c b/src/output-stats.c index 58c4570978..d04f1b22b7 100644 --- a/src/output-stats.c +++ b/src/output-stats.c @@ -26,6 +26,7 @@ #include "suricata-common.h" #include "tm-modules.h" #include "output-stats.h" +#include "util-validate.h" typedef struct OutputLoggerThreadStore_ { void *thread_data; @@ -85,29 +86,27 @@ int OutputRegisterStatsLogger(const char *name, StatsLogger LogFunc, TmEcode OutputStatsLog(ThreadVars *tv, void *thread_data, StatsTable *st) { - BUG_ON(thread_data == NULL); - BUG_ON(list == NULL); + DEBUG_VALIDATE_BUG_ON(thread_data == NULL); + DEBUG_VALIDATE_BUG_ON(list == NULL); OutputLoggerThreadData *op_thread_data = (OutputLoggerThreadData *)thread_data; OutputStatsLogger *logger = list; OutputLoggerThreadStore *store = op_thread_data->store; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); - BUG_ON(logger == NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store == NULL); - logger = list; - store = op_thread_data->store; while (logger && store) { - BUG_ON(logger->LogFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL); logger->LogFunc(tv, store->thread_data, st); logger = logger->next; store = store->next; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } return TM_ECODE_OK; diff --git a/src/output-streaming.c b/src/output-streaming.c index fc159265e9..46dfebcf1a 100644 --- a/src/output-streaming.c +++ b/src/output-streaming.c @@ -36,6 +36,7 @@ #include "stream-tcp.h" #include "stream-tcp-inline.h" #include "stream-tcp-reassemble.h" +#include "util-validate.h" typedef struct OutputLoggerThreadStore_ { void *thread_data; @@ -114,18 +115,18 @@ typedef struct StreamerCallbackData_ { static int Streamer(void *cbdata, Flow *f, const uint8_t *data, uint32_t data_len, uint64_t tx_id, uint8_t flags) { StreamerCallbackData *streamer_cbdata = (StreamerCallbackData *)cbdata; - BUG_ON(streamer_cbdata == NULL); + DEBUG_VALIDATE_BUG_ON(streamer_cbdata == NULL); OutputStreamingLogger *logger = streamer_cbdata->logger; OutputLoggerThreadStore *store = streamer_cbdata->store; ThreadVars *tv = streamer_cbdata->tv; #ifdef PROFILING Packet *p = streamer_cbdata->p; #endif - BUG_ON(logger == NULL); - BUG_ON(store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL); + DEBUG_VALIDATE_BUG_ON(store == NULL); while (logger && store) { - BUG_ON(logger->LogFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL); if (logger->type == streamer_cbdata->type) { SCLogDebug("logger %p", logger); @@ -137,8 +138,8 @@ static int Streamer(void *cbdata, Flow *f, const uint8_t *data, uint32_t data_le logger = logger->next; store = store->next; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } return 0; @@ -298,7 +299,7 @@ static int TcpDataLogger (Flow *f, TcpSession *ssn, TcpStream *stream, static TmEcode OutputStreamingLog(ThreadVars *tv, Packet *p, void *thread_data) { - BUG_ON(thread_data == NULL); + DEBUG_VALIDATE_BUG_ON(thread_data == NULL); if (list == NULL) { /* No child loggers. */ @@ -311,9 +312,9 @@ static TmEcode OutputStreamingLog(ThreadVars *tv, Packet *p, void *thread_data) StreamerCallbackData streamer_cbdata = { logger, store, tv, p , 0}; - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); - BUG_ON(logger == NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store == NULL); uint8_t flags = 0; Flow * const f = p->flow; diff --git a/src/output-tx.c b/src/output-tx.c index a780d6ee59..aef0f87815 100644 --- a/src/output-tx.c +++ b/src/output-tx.c @@ -30,6 +30,7 @@ #include "app-layer.h" #include "app-layer-parser.h" #include "util-profiling.h" +#include "util-validate.h" typedef struct OutputLoggerThreadStore_ { void *thread_data; @@ -129,7 +130,7 @@ int OutputRegisterTxLogger(LoggerId id, const char *name, AppProto alproto, static TmEcode OutputTxLog(ThreadVars *tv, Packet *p, void *thread_data) { - BUG_ON(thread_data == NULL); + DEBUG_VALIDATE_BUG_ON(thread_data == NULL); if (list == NULL) { /* No child loggers registered. */ return TM_ECODE_OK; @@ -191,13 +192,13 @@ static TmEcode OutputTxLog(ThreadVars *tv, Packet *p, void *thread_data) const OutputTxLogger *logger = list; const OutputLoggerThreadStore *store = op_thread_data->store; -#ifdef DEBUG_VALIDATION - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); - BUG_ON(logger == NULL && store == NULL); -#endif + + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); + DEBUG_VALIDATE_BUG_ON(logger == NULL && store == NULL); + while (logger && store) { - BUG_ON(logger->LogFunc == NULL); + DEBUG_VALIDATE_BUG_ON(logger->LogFunc == NULL); SCLogDebug("logger %p, LogCondition %p, ts_log_progress %d " "tc_log_progress %d", logger, logger->LogCondition, @@ -240,10 +241,9 @@ static TmEcode OutputTxLog(ThreadVars *tv, Packet *p, void *thread_data) next_logger: logger = logger->next; store = store->next; -#ifdef DEBUG_VALIDATION - BUG_ON(logger == NULL && store != NULL); - BUG_ON(logger != NULL && store == NULL); -#endif + + DEBUG_VALIDATE_BUG_ON(logger == NULL && store != NULL); + DEBUG_VALIDATE_BUG_ON(logger != NULL && store == NULL); } if (tx_logged != tx_logged_old) {