#include "events/event_queue.h"
#include "log/messages.h"
#include "managers/inspector_manager.h"
+#include "memory/memory_cap.h"
#include "profiler/profiler.h"
#include "protocols/packet.h"
#include "stream/stream_splitter.h"
FreeSipData(&session);
assert(sip_stats.concurrent_sessions > 0);
sip_stats.concurrent_sessions--;
+ memory::MemoryCap::update_deallocations(sizeof(SipFlowData));
}
static SIPData* SetNewSIPData(Packet* p)
{
SipFlowData* fd = new SipFlowData;
+ memory::MemoryCap::update_allocations(sizeof(SipFlowData));
p->flow->set_flow_data(fd);
return &fd->session;
}
{
Stream::ignore_flow(p, p->flow->pkt_type, p->get_ip_proto_next(), &mdataA->maddress,
mdataA->mport, &mdataB->maddress, mdataB->mport, SSN_DIR_BOTH, (new SipFlowData));
+ memory::MemoryCap::update_allocations(sizeof(SipFlowData));
}
sip_stats.ignoreChannels++;
mdataA = mdataA->nextM;
sip_stats.dialogs++;
dialog = (SIP_DialogData*)snort_calloc(sizeof(SIP_DialogData));
+ memory::MemoryCap::update_allocations(sizeof(SIP_DialogData));
// Add to the head
dialog->nextD = currDialog;
}
sip_freeMediaList(currDialog->mediaSessions);
snort_free(currDialog);
+ memory::MemoryCap::update_deallocations(sizeof(SIP_DialogData));
if ( dList->num_dialogs > 0)
dList->num_dialogs--;
return true;
nextNode = curNode->nextD;
sip_freeMediaList(curNode->mediaSessions);
snort_free(curNode);
+ memory::MemoryCap::update_deallocations(sizeof(SIP_DialogData));
curNode = nextNode;
}
}
#include "detection/detection_engine.h"
#include "events/event_queue.h"
+#include "memory/memory_cap.h"
#include "utils/util.h"
#include "utils/util_cstring.h"
// Create a media session
msg->mediaSession = (SIP_MediaSession*)snort_calloc(sizeof(SIP_MediaSession));
+ memory::MemoryCap::update_allocations(sizeof(SIP_MediaSession));
const char* start = buff;
/*
return SIP_PARSE_ERROR;
mdata = (SIP_MediaData*)snort_calloc(sizeof(SIP_MediaData));
+ memory::MemoryCap::update_allocations(sizeof(SIP_MediaData));
mdata->mport = (uint16_t)SnortStrtoul(spaceIndex + 1, &next, 10);
if ((nullptr != next)&&('/'==next[0]))
{
nextNode = curNode->nextM;
snort_free(curNode);
+ memory::MemoryCap::update_deallocations(sizeof(SIP_MediaData));
curNode = nextNode;
}
if (nullptr != mediaSession)
+ {
snort_free(mediaSession);
+ memory::MemoryCap::update_deallocations(sizeof(SIP_MediaSession));
+ }
}
/********************************************************************