tx->iin = *iin;
}
- BUG_ON(tx->is_request);
+ DEBUG_VALIDATE_BUG_ON(tx->is_request);
if (!DNP3ReassembleApplicationLayer(input + sizeof(DNP3LinkHeader),
input_len - sizeof(DNP3LinkHeader), &tx->buffer, &tx->buffer_len)) {
static Frame *FrameNew(Frames *frames, uint64_t offset, int64_t len)
{
- BUG_ON(frames == NULL);
+ DEBUG_VALIDATE_BUG_ON(frames == NULL);
if (frames->cnt < FRAMES_STATIC_CNT) {
Frame *frame = &frames->sframes[frames->cnt];
frames->cnt++;
return frame;
} else if (frames->dframes == NULL) {
- BUG_ON(frames->dyn_size != 0);
- BUG_ON(frames->cnt != FRAMES_STATIC_CNT);
+ DEBUG_VALIDATE_BUG_ON(frames->dyn_size != 0);
+ DEBUG_VALIDATE_BUG_ON(frames->cnt != FRAMES_STATIC_CNT);
frames->dframes = SCCalloc(8, sizeof(Frame));
if (frames->dframes == NULL) {
return NULL;
}
frames->cnt++;
- BUG_ON(frames->cnt != FRAMES_STATIC_CNT + 1);
+ DEBUG_VALIDATE_BUG_ON(frames->cnt != FRAMES_STATIC_CNT + 1);
frames->dyn_size = 8;
frames->dframes[0].offset = offset;
frames->dframes[0].id = ++frames->base_id;
return &frames->dframes[0];
} else {
- BUG_ON(frames->cnt < FRAMES_STATIC_CNT);
+ DEBUG_VALIDATE_BUG_ON(frames->cnt < FRAMES_STATIC_CNT);
/* need to handle dynamic storage of frames now */
const uint16_t dyn_cnt = frames->cnt - FRAMES_STATIC_CNT;
if (dyn_cnt < frames->dyn_size) {
- BUG_ON(frames->dframes == NULL);
+ DEBUG_VALIDATE_BUG_ON(frames->dframes == NULL);
// fall through
} else {
SCLogDebug("frame_offset %" PRIi64 ", frame_data %" PRIi64 ", frame->len %" PRIi64,
frame_offset, frame_data, frame->len);
- BUG_ON(frame_offset > app_progress);
+ DEBUG_VALIDATE_BUG_ON(frame_offset > app_progress);
/* length unknown, make sure to have at least 2500 */
if (frame->len < 0) {
", next %" PRIu64,
(uint64_t)frames->left_edge_rel + STREAM_BASE_OFFSET(stream), frames->left_edge_rel,
STREAM_BASE_OFFSET(stream), STREAM_BASE_OFFSET(stream) + slide);
- BUG_ON(frames == NULL);
+ DEBUG_VALIDATE_BUG_ON(frames == NULL);
SCLogDebug("%s frames %p: sliding %u bytes", ds, frames, slide);
uint64_t le = STREAM_APP_PROGRESS(stream);
const uint64_t next_base = STREAM_BASE_OFFSET(stream) + slide;
+#if defined(DEBUG) || defined(DEBUG_VALIDATION)
const uint16_t start = frames->cnt;
uint16_t removed = 0;
+#endif
uint16_t x = 0;
for (uint16_t i = 0; i < frames->cnt; i++) {
if (i < FRAMES_STATIC_CNT) {
// remove by not incrementing 'x'
SCLogDebug("removing %p id %" PRIi64, frame, frame->id);
FrameClean(frame);
+#if defined(DEBUG) || defined(DEBUG_VALIDATION)
removed++;
+#endif
} else {
Frame *nframe = &frames->sframes[x];
FrameCopy(nframe, frame);
// remove by not incrementing 'x'
SCLogDebug("removing %p id %" PRIi64, frame, frame->id);
FrameClean(frame);
+#if defined(DEBUG) || defined(DEBUG_VALIDATION)
removed++;
+#endif
} else {
Frame *nframe;
if (x >= FRAMES_STATIC_CNT) {
snprintf(pf, sizeof(pf), "%s:post_slide", ds);
AppLayerFrameDumpForFrames(pf, frames);
#endif
- BUG_ON(x != start - removed);
+ DEBUG_VALIDATE_BUG_ON(x != start - removed);
return 0;
}
static void FramesClear(Frames *frames)
{
- BUG_ON(frames == NULL);
+ DEBUG_VALIDATE_BUG_ON(frames == NULL);
SCLogDebug("frames %u", frames->cnt);
for (uint16_t i = 0; i < frames->cnt; i++) {
void FramesFree(Frames *frames)
{
- BUG_ON(frames == NULL);
+ DEBUG_VALIDATE_BUG_ON(frames == NULL);
FramesClear(frames);
SCFree(frames->dframes);
frames->dframes = NULL;
frame_start > stream_slice->input + stream_slice->input_len)
return NULL;
#endif
- BUG_ON(frame_start < stream_slice->input);
- BUG_ON(stream_slice->input == NULL);
- BUG_ON(f->proto == IPPROTO_TCP && f->protoctx == NULL);
+ DEBUG_VALIDATE_BUG_ON(frame_start < stream_slice->input);
+ DEBUG_VALIDATE_BUG_ON(stream_slice->input == NULL);
+ DEBUG_VALIDATE_BUG_ON(f->proto == IPPROTO_TCP && f->protoctx == NULL);
ptrdiff_t ptr_offset = frame_start - stream_slice->input;
#ifdef DEBUG
" (offset %" PRIu64 ")",
f, dir == 0 ? "toserver" : "toclient", frame_start, offset, len, stream_slice->offset);
#endif
- BUG_ON(f->alparser == NULL);
+ DEBUG_VALIDATE_BUG_ON(f->alparser == NULL);
FramesContainer *frames_container = AppLayerFramesSetupContainer(f);
if (frames_container == NULL)
static Frame *AppLayerFrameUdp(
Flow *f, const uint32_t frame_start_rel, const int64_t len, int dir, uint8_t frame_type)
{
- BUG_ON(f->proto != IPPROTO_UDP);
+ DEBUG_VALIDATE_BUG_ON(f->proto != IPPROTO_UDP);
if (!(FrameConfigTypeIsEnabled(f->alproto, frame_type)))
return NULL;
if (stream_slice->input == NULL)
return NULL;
#else
- BUG_ON(stream_slice->input == NULL);
+ DEBUG_VALIDATE_BUG_ON(stream_slice->input == NULL);
#endif
- BUG_ON(f->proto == IPPROTO_TCP && f->protoctx == NULL);
- BUG_ON(f->alparser == NULL);
+ DEBUG_VALIDATE_BUG_ON(f->proto == IPPROTO_TCP && f->protoctx == NULL);
+ DEBUG_VALIDATE_BUG_ON(f->alparser == NULL);
if (f->proto == IPPROTO_UDP) {
return AppLayerFrameUdp(f, frame_start_rel, len, dir, frame_type);
if (stream_slice->input == NULL)
return NULL;
#else
- BUG_ON(stream_slice->input == NULL);
+ DEBUG_VALIDATE_BUG_ON(stream_slice->input == NULL);
#endif
- BUG_ON(f->proto == IPPROTO_TCP && f->protoctx == NULL);
- BUG_ON(f->alparser == NULL);
- BUG_ON(frame_start < stream_slice->offset);
- BUG_ON(frame_start - stream_slice->offset >= (uint64_t)INT_MAX);
+ DEBUG_VALIDATE_BUG_ON(f->proto == IPPROTO_TCP && f->protoctx == NULL);
+ DEBUG_VALIDATE_BUG_ON(f->alparser == NULL);
+ DEBUG_VALIDATE_BUG_ON(frame_start < stream_slice->offset);
+ DEBUG_VALIDATE_BUG_ON(frame_start - stream_slice->offset >= (uint64_t)INT_MAX);
FramesContainer *frames_container = AppLayerFramesSetupContainer(f);
if (frames_container == NULL)
static void FramePrune(Frames *frames, const TcpStream *stream, const bool eof)
{
+#ifdef DEBUG_VALIDATION
const uint64_t frames_le_start = (uint64_t)frames->left_edge_rel + STREAM_BASE_OFFSET(stream);
+#endif
SCLogDebug("start: left edge %" PRIu64 ", left_edge_rel %u, stream base %" PRIu64,
(uint64_t)frames->left_edge_rel + STREAM_BASE_OFFSET(stream), frames->left_edge_rel,
STREAM_BASE_OFFSET(stream));
const uint64_t acked = StreamTcpGetUsable(stream, eof);
uint64_t le = STREAM_APP_PROGRESS(stream);
+#if defined(DEBUG) || defined(DEBUG_VALIDATION)
const uint16_t start = frames->cnt;
uint16_t removed = 0;
+#endif
uint16_t x = 0;
for (uint16_t i = 0; i < frames->cnt; i++) {
if (i < FRAMES_STATIC_CNT) {
SCLogDebug("removing %p id %" PRIi64, frame, frame->id);
FrameDebug("remove(s)", frames, frame);
FrameClean(frame);
+#if defined(DEBUG) || defined(DEBUG_VALIDATION)
removed++;
+#endif
} else {
const uint64_t fle = FrameLeftEdge(stream, frame);
le = MIN(le, fle);
SCLogDebug("removing %p id %" PRIi64, frame, frame->id);
FrameDebug("remove(d)", frames, frame);
FrameClean(frame);
+#if defined(DEBUG) || defined(DEBUG_VALIDATION)
removed++;
+#endif
} else {
const uint64_t fle = FrameLeftEdge(stream, frame);
le = MIN(le, fle);
AppLayerFrameDumpForFrames("post_slide", frames);
#endif
if (frames->cnt > 0) { // if we removed all this can fail
- BUG_ON(frames_le_start > le);
+ DEBUG_VALIDATE_BUG_ON(frames_le_start > le);
}
- BUG_ON(x != start - removed);
+ DEBUG_VALIDATE_BUG_ON(x != start - removed);
}
void FramesPrune(Flow *f, Packet *p)
}
}
- BUG_ON((direction & ftpdata_state->direction) == 0); // should be unreachable
+ DEBUG_VALIDATE_BUG_ON((direction & ftpdata_state->direction) == 0); // should be unreachable
if (eof) {
ret = FileCloseFile(ftpdata_state->files, &sbcfg, NULL, 0, flags);
ftpdata_state->state = FTPDATA_STATE_FINISHED;
void HttpRangeFreeBlock(HttpRangeContainerBlock *b)
{
if (b) {
- BUG_ON(b->container == NULL && b->files != NULL);
+ DEBUG_VALIDATE_BUG_ON(b->container == NULL && b->files != NULL);
const StreamingBufferConfig *sbcfg = b->container ? b->container->sbcfg : NULL;
HttpRangeBlockDerefContainer(b);
static inline uint64_t HtpGetActiveRequestTxID(HtpState *s)
{
uint64_t id = HTPStateGetTxCnt(s);
- BUG_ON(id == 0);
+ DEBUG_VALIDATE_BUG_ON(id == 0);
return id - 1;
}
uint32_t len = AppLayerHtpComputeChunkLength(tx_ud->request_body.content_len_so_far,
hstate->cfg->request.body_limit, stream_depth, tx_ud->tsflags,
(uint32_t)htp_tx_data_len(d));
- BUG_ON(len > (uint32_t)htp_tx_data_len(d));
+ DEBUG_VALIDATE_BUG_ON(len > (uint32_t)htp_tx_data_len(d));
HtpBodyAppendChunk(&tx_ud->request_body, htp_tx_data_data(d), len);
uint32_t len = AppLayerHtpComputeChunkLength(tx_ud->response_body.content_len_so_far,
hstate->cfg->response.body_limit, stream_depth, tx_ud->tcflags,
(uint32_t)htp_tx_data_len(d));
- BUG_ON(len > (uint32_t)htp_tx_data_len(d));
+ DEBUG_VALIDATE_BUG_ON(len > (uint32_t)htp_tx_data_len(d));
HtpBodyAppendChunk(&tx_ud->response_body, htp_tx_data_data(d), len);
break;
default:
if (alproto < g_alproto_max) {
- BUG_ON(g_alproto_strings[alproto].alproto != alproto);
+ DEBUG_VALIDATE_BUG_ON(g_alproto_strings[alproto].alproto != alproto);
proto_name = g_alproto_strings[alproto].str;
}
}
sts = stats_ctx->sts;
SCLogDebug("sts %p", sts);
while (sts != NULL) {
- BUG_ON(thread < 0);
+ DEBUG_VALIDATE_BUG_ON(thread < 0);
SCLogDebug("Thread %d %s ctx %p", thread, sts->name, sts->ctx);
id = HashTableLookup(stats_ctx->counters_id_hash, &t, sizeof(t));
if (id == NULL) {
id = SCCalloc(1, sizeof(*id));
- BUG_ON(id == NULL);
+ DEBUG_VALIDATE_BUG_ON(id == NULL);
id->id = counters_global_id++;
id->string = pc->name;
- BUG_ON(HashTableAdd(stats_ctx->counters_id_hash, id, sizeof(*id)) < 0);
+#ifdef DEBUG_VALIDATION
+ DEBUG_VALIDATE_BUG_ON(HashTableAdd(stats_ctx->counters_id_hash, id, sizeof(*id)) < 0);
+#else
+ HashTableAdd(stats_ctx->counters_id_hash, id, sizeof(*id));
+#endif
}
pc->gid = id->id;
pc = pc->next;
PacketAlert *PacketAlertCreate(void)
{
PacketAlert *pa_array = SCCalloc(packet_alert_max, sizeof(PacketAlert));
- BUG_ON(pa_array == NULL);
+ DEBUG_VALIDATE_BUG_ON(pa_array == NULL);
return pa_array;
}
}
}
- BUG_ON(extbytes > len);
+ DEBUG_VALIDATE_BUG_ON(extbytes > len);
ptr += extbytes;
PREFILTER_PROFILING_ADD_BYTES(det_ctx, data_len);
}
} else if (p->proto == IPPROTO_TCP) {
- BUG_ON(p->flow->protoctx == NULL);
+ DEBUG_VALIDATE_BUG_ON(p->flow->protoctx == NULL);
TcpSession *ssn = p->flow->protoctx;
TcpStream *stream;
if (PKT_IS_TOSERVER(p)) {
bool DetectRunFrameInspectRule(ThreadVars *tv, DetectEngineThreadCtx *det_ctx, const Signature *s,
Flow *f, Packet *p, const Frames *frames, const Frame *frame)
{
- BUG_ON(s->frame_inspect == NULL);
+ DEBUG_VALIDATE_BUG_ON(s->frame_inspect == NULL);
SCLogDebug("inspecting rule %u against frame %p/%" PRIi64 "/%s", s->id, frame, frame->id,
AppLayerParserGetFrameNameById(f->proto, f->alproto, frame->type));
}
/* in: relative to start of input data */
- BUG_ON(so_inspect_offset < input_offset);
+ DEBUG_VALIDATE_BUG_ON(so_inspect_offset < input_offset);
DEBUG_VALIDATE_BUG_ON(so_inspect_offset - input_offset > UINT32_MAX);
const uint32_t in_data_offset = (uint32_t)(so_inspect_offset - input_offset);
data += in_data_offset;
data_len = input_len - in_data_offset - in_data_excess;
} else {
/* in: relative to start of input data */
- BUG_ON(so_inspect_offset < input_offset);
+ DEBUG_VALIDATE_BUG_ON(so_inspect_offset < input_offset);
DEBUG_VALIDATE_BUG_ON(so_inspect_offset - input_offset > UINT32_MAX);
const uint32_t in_data_offset = (uint32_t)(so_inspect_offset - input_offset);
data += in_data_offset;
// PrintRawDataFp(stdout, data, data_len);
// PrintRawDataFp(stdout, data, MIN(64, data_len));
#endif
- BUG_ON(fsd->frame->len > 0 && (int64_t)data_len > fsd->frame->len);
+ DEBUG_VALIDATE_BUG_ON(fsd->frame->len > 0 && (int64_t)data_len > fsd->frame->len);
const bool match = DetectEngineContentInspection(det_ctx->de_ctx, det_ctx, s, engine->smd, p,
p->flow, data, data_len, data_offset, buffer->flags,
", list:%d, transforms:%p, s:%p, s->id:%u, engine:%p",
p->pcap_cnt, frame->id, engine->sm_list, engine->v1.transforms, s, s->id, engine);
- BUG_ON(p->flow->protoctx == NULL);
+ DEBUG_VALIDATE_BUG_ON(p->flow->protoctx == NULL);
TcpSession *ssn = p->flow->protoctx;
TcpStream *stream;
if (PKT_IS_TOSERVER(p)) {
const int id = transforms->transforms[i].transform;
if (id == 0)
break;
- BUG_ON(sigmatch_table[id].Transform == NULL);
+ DEBUG_VALIDATE_BUG_ON(sigmatch_table[id].Transform == NULL);
sigmatch_table[id].Transform(det_ctx, buffer, transforms->transforms[i].options);
SCLogDebug("applied transform %s", sigmatch_table[id].name);
}
void DetectEngineDeReference(DetectEngineCtx **de_ctx)
{
- BUG_ON((*de_ctx)->ref_cnt == 0);
+ DEBUG_VALIDATE_BUG_ON((*de_ctx)->ref_cnt == 0);
(*de_ctx)->ref_cnt--;
*de_ctx = NULL;
}
}
} else {
uint64_t new_data = file_size - cur_file->content_inspected;
- BUG_ON(new_data == 0);
+ DEBUG_VALIDATE_BUG_ON(new_data == 0);
if (new_data < cur_file->inspect_window) {
uint64_t inspect_short = cur_file->inspect_window - new_data;
if (cur_file->content_inspected < inspect_short) {
void *txv, const Signature *s, const SigMatchCtx *ctx)
{
const DetectXbitsData *xd = (const DetectXbitsData *)ctx;
- BUG_ON(xd == NULL);
+ DEBUG_VALIDATE_BUG_ON(xd == NULL);
AppLayerTxData *txd = AppLayerParserGetTxData(f->proto, f->alproto, txv);
DEBUG_VALIDATE_BUG_ON((file->flags & FILE_STORED) != 0);
AppLayerTxData *txd = AppLayerParserGetTxData(f->proto, f->alproto, txv);
- BUG_ON(f->alproto == ALPROTO_SMB && txd->files_logged != 0);
+ DEBUG_VALIDATE_BUG_ON(f->alproto == ALPROTO_SMB && txd->files_logged != 0);
txd->files_stored++;
file->flags |= FILE_STORED;
}
SCEnter();
JsonFileLogThread *aft = (JsonFileLogThread *)thread_data;
- BUG_ON(ff->flags & FILE_LOGGED);
+ DEBUG_VALIDATE_BUG_ON(ff->flags & FILE_LOGGED);
SCLogDebug("ff %p", ff);
{
FrameJsonOutputCtx *json_output_ctx = aft->json_output_ctx;
- BUG_ON(p->flow == NULL);
+ DEBUG_VALIDATE_BUG_ON(p->flow == NULL);
FramesContainer *frames_container = AppLayerFramesGetContainer(p->flow);
if (frames_container == NULL)
return FrameJsonUdp(tv, aft, p, p->flow, frames_container);
}
- BUG_ON(p->proto != IPPROTO_TCP);
- BUG_ON(p->flow->protoctx == NULL);
+ DEBUG_VALIDATE_BUG_ON(p->proto != IPPROTO_TCP);
+ DEBUG_VALIDATE_BUG_ON(p->flow->protoctx == NULL);
/* TODO can we set these EOF flags once per packet? We have them in detect, tx, file, filedata,
* etc */
if ((!(PacketIsIPv4(p))) && (!(PacketIsIPv6(p))))
return 0;
- BUG_ON(ff->flags & FILE_LOGGED);
+ DEBUG_VALIDATE_BUG_ON(ff->flags & FILE_LOGGED);
SCLogDebug("ff %p", ff);
opposing_tx_ready = ts_ready;
} else {
DEBUG_VALIDATE_BUG_ON(1);
+ return;
}
SCLogDebug("eof %d ts_ready %d ts_eof %d", eof, ts_ready, ts_eof);
SCEnter();
DecodeThreadVars *dtv = (DecodeThreadVars *)data;
- BUG_ON(PKT_IS_PSEUDOPKT(p));
+ DEBUG_VALIDATE_BUG_ON(PKT_IS_PSEUDOPKT(p));
/* update counters */
DecodeUpdatePacketCounters(tv, dtv, p);
uint32_t range = end - seq;
SCLogDebug("range %u", range);
- BUG_ON(range > 65536);
+ DEBUG_VALIDATE_BUG_ON(range > 65536);
if (range) {
int r = SCMemcmp(p->payload + pkt_off, seg_data + seg_off, range);
uint32_t range = end - seq;
SCLogDebug("range %u", range);
- BUG_ON(range > 65536);
+ DEBUG_VALIDATE_BUG_ON(range > 65536);
if (range) {
/* update the packets payload. As payload is a ptr to either
SCLogDebug("blk at offset");
StreamingBufferSBBGetData(&stream->sb, blk, data, data_len);
- BUG_ON(blk->len != *data_len);
+ DEBUG_VALIDATE_BUG_ON(blk->len != *data_len);
gap_ahead = check_for_gap && GapAhead(stream, blk);
/* see if the buffer contains unack'd data as well */
if (app_progress <= last_ack_abs && app_progress + data_len > last_ack_abs) {
- uint32_t check = data_len;
adjusted = (uint32_t)(last_ack_abs - app_progress);
- BUG_ON(adjusted > check);
+ DEBUG_VALIDATE_BUG_ON(adjusted > data_len);
SCLogDebug("data len adjusted to %u to make sure only ACK'd "
"data is considered", adjusted);
}
/* run the callback */
r = Callback(cb_data, mydata, mydata_len, mydata_offset);
- BUG_ON(r < 0);
+ DEBUG_VALIDATE_BUG_ON(r < 0);
if (return_progress) {
*progress_out = (mydata_offset + mydata_len);
/* see if the buffer contains unack'd data as well */
if (progress + mydata_len > re) {
+#ifdef DEBUG_VALIDATION
uint32_t check = mydata_len;
+#endif
mydata_len = (uint32_t)(re - progress);
- BUG_ON(check < mydata_len);
+ DEBUG_VALIDATE_BUG_ON(check < mydata_len);
SCLogDebug("data len adjusted to %u to make sure only ACK'd "
"data is considered", mydata_len);
}
/* we have data. */
r = Callback(cb_data, mydata, mydata_len, mydata_offset);
- BUG_ON(r < 0);
+ DEBUG_VALIDATE_BUG_ON(r < 0);
if (mydata_offset == progress) {
SCLogDebug("progress %"PRIu64" increasing with data len %u to %"PRIu64,
static void TcpStateQueueInitFromSsnSyn(const TcpSession *ssn, TcpStateQueue *q)
{
- BUG_ON(ssn->state != TCP_SYN_SENT); // TODO
+ DEBUG_VALIDATE_BUG_ON(ssn->state != TCP_SYN_SENT); // TODO
memset(q, 0, sizeof(*q));
/* SYN won't use wscale yet. So window should be limited to 16 bits. */
SCTime_t TmThreadsGetThreadTime(const int idx)
{
- BUG_ON(idx == 0);
+ DEBUG_VALIDATE_BUG_ON(idx == 0);
const int i = idx - 1;
Thread *t = &thread_store.threads[i];
return SC_ATOMIC_GET(t->pktts);
/* no of characters_written(cw) by snprintf */
int cw = 0;
- BUG_ON(sc_log_module_initialized != 1);
+ DEBUG_VALIDATE_BUG_ON(sc_log_module_initialized != 1);
/* make a copy of the format string as it will be modified below */
const int add_M = strstr(log_format, "%M") == NULL;
{
int ret = 0;
- BUG_ON(log_ctx->is_sock);
+ DEBUG_VALIDATE_BUG_ON(log_ctx->is_sock);
/* Check for rotation. */
if (log_ctx->rotation_flag) {
/* This happens, ignore. */
return NULL;
}
- BUG_ON(osize > ctx->alloc_bytes);
+ DEBUG_VALIDATE_BUG_ON(osize > ctx->alloc_bytes);
SCFree(ptr);
ctx->alloc_bytes -= osize;
return NULL;
void *nptr = SCRealloc(ptr, nsize);
if (nptr != NULL) {
- BUG_ON((ssize_t)ctx->alloc_bytes + diff < 0);
- BUG_ON(osize > ctx->alloc_bytes);
+ DEBUG_VALIDATE_BUG_ON((ssize_t)ctx->alloc_bytes + diff < 0);
+ DEBUG_VALIDATE_BUG_ON(osize > ctx->alloc_bytes);
ctx->alloc_bytes += diff;
}
return nptr;
/* scratch should have been cloned from g_scratch_proto at thread init. */
hs_scratch_t *scratch = hs_thread_ctx->scratch;
- BUG_ON(pd->hs_db == NULL);
- BUG_ON(scratch == NULL);
+ DEBUG_VALIDATE_BUG_ON(pd->hs_db == NULL);
+ DEBUG_VALIDATE_BUG_ON(scratch == NULL);
hs_error_t err = hs_scan(pd->hs_db, (const char *)buf, buflen, 0, scratch,
SCHSMatchEvent, &cctx);
#include "util-pool-thread.h"
#include "util-unittest.h"
#include "util-debug.h"
+#include "util-validate.h"
/**
* \brief per thread Pool, initialization function
void PoolThreadLock(PoolThread *pt, PoolThreadId id)
{
- BUG_ON(pt == NULL || id >= pt->size);
+ DEBUG_VALIDATE_BUG_ON(pt == NULL || id >= pt->size);
PoolThreadElement *e = &pt->array[id];
SCMutexLock(&e->lock);
}
void PoolThreadReturnRaw(PoolThread *pt, PoolThreadId id, void *data)
{
- BUG_ON(pt == NULL || id >= pt->size);
+ DEBUG_VALIDATE_BUG_ON(pt == NULL || id >= pt->size);
PoolThreadElement *e = &pt->array[id];
PoolReturn(e->pool, data);
}
void PoolThreadUnlock(PoolThread *pt, PoolThreadId id)
{
- BUG_ON(pt == NULL || id >= pt->size);
+ DEBUG_VALIDATE_BUG_ON(pt == NULL || id >= pt->size);
PoolThreadElement *e = &pt->array[id];
SCMutexUnlock(&e->lock);
}
static int ContainNetmaskAndSetUserData(
RADIX_NODE_TYPE *node, uint8_t netmask, bool exact_match, void **user_data_result)
{
- BUG_ON(!node);
+ DEBUG_VALIDATE_BUG_ON(!node);
RadixUserData *user_data = node->user_data;
/* Check if we have a match for an exact ip. An exact ip as in not a proper
#include "util-spm.h"
#include "util-spm-hs.h"
#include "util-debug.h"
+#include "util-validate.h"
#ifdef BUILD_HYPERSCAN
unsigned long long to, unsigned int flags, void *context)
{
uint64_t *match_offset = context;
- BUG_ON(*match_offset != UINT64_MAX);
+ DEBUG_VALIDATE_BUG_ON(*match_offset != UINT64_MAX);
*match_offset = to;
return 1; /* Terminate matching. */
}
return NULL;
}
- BUG_ON(match_offset < sctx->needle_len);
+ DEBUG_VALIDATE_BUG_ON(match_offset < sctx->needle_len);
/* Note: existing API returns non-const ptr */
return (uint8_t *)haystack + (match_offset - sctx->needle_len);
}
// setup the data
- BUG_ON(ctx->config.DataSet(h->data, data) != 0);
+#ifdef DEBUG_VALIDATION
+ DEBUG_VALIDATE_BUG_ON(ctx->config.DataSet(h->data, data) != 0);
+#else
+ ctx->config.DataSet(h->data, data);
+#endif
(void) SC_ATOMIC_ADD(ctx->counter, 1);
SCMutexLock(&h->m);
return h;