#include "daq_user.h"
#include <arpa/inet.h>
+#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <inttypes.h>
while (*s && *s != '"' && desc->msg.data_len < hc->snaplen)
{
if (unescape(*s++, &t))
+ {
+ assert(desc->data);
desc->data[desc->msg.data_len++] = t;
+ }
}
desc->pkthdr.pktlen = desc->msg.data_len;
}
bnfa_state_t* pi; /* state indexes into ps */
bnfa_state_t ps_index=0;
unsigned nps;
- bnfa_state_t full[BNFA_MAX_ALPHABET_SIZE];
+ bnfa_state_t full[BNFA_MAX_ALPHABET_SIZE] = {};
/* count total state transitions, account for state and control words */
nps = 0;
inline void TraceSegments(const TcpReassemblySegments& seglist, const snort::Packet* p)
{
+ if ( !trace_enabled(stream_tcp_trace, TRACE_SEGMENTS) )
+ return;
+
const TcpSegmentNode* tsn = seglist.head;
uint32_t sx = seglist.tracker->r_win_base;
unsigned segs = 0;
- unsigned bytes = 0;
std::stringstream ss;
- if ( !trace_enabled(stream_tcp_trace, TRACE_SEGMENTS) )
- return;
-
while ( tsn )
{
uint32_t seq = tsn->start_seq();
if ( tsn->cursor and tsn->unscanned() > 0 )
ss << "(" << tsn->cursor << "|" << tsn->unscanned() << ")";
+
segs++;
- bytes += tsn->length;
sx = seq + tsn->length;
tsn = tsn->next;
}
if ( !ss.str().empty() )
trace_logf(DEFAULT_TRACE_LOG_LEVEL, stream_tcp_trace, TRACE_SEGMENTS, p, " %s\n", ss.str().c_str());
-
- assert(seglist.seg_count == segs);
- assert(seglist.seg_bytes_logical == bytes);
}
inline void TraceState(const TcpStreamTracker& a, const TcpStreamTracker& b, const char* s,