mirror of
https://github.com/zeek/zeek.git
synced 2025-10-03 15:18:20 +00:00
Fixing another memory leak.
This is the ConnVal leak that Gilbert also saw.
This commit is contained in:
parent
d3e764155e
commit
eb0580c622
5 changed files with 13 additions and 6 deletions
|
@ -348,19 +348,18 @@ RecordVal* Connection::BuildConnVal()
|
|||
id_val->Assign(2, new AddrVal(resp_addr));
|
||||
id_val->Assign(3, new PortVal(ntohs(resp_port), prot_type));
|
||||
|
||||
conn_val->Assign(0, id_val);
|
||||
|
||||
RecordVal *orig_endp = new RecordVal(endpoint);
|
||||
orig_endp->Assign(0, new Val(0, TYPE_COUNT));
|
||||
orig_endp->Assign(1, new Val(0, TYPE_COUNT));
|
||||
conn_val->Assign(1, orig_endp);
|
||||
|
||||
RecordVal *resp_endp = new RecordVal(endpoint);
|
||||
resp_endp->Assign(0, new Val(0, TYPE_COUNT));
|
||||
resp_endp->Assign(1, new Val(0, TYPE_COUNT));
|
||||
conn_val->Assign(2, resp_endp);
|
||||
|
||||
// conn_val->Assign(3, new Val(start_time, TYPE_TIME)); // ###
|
||||
conn_val->Assign(0, id_val);
|
||||
conn_val->Assign(1, orig_endp);
|
||||
conn_val->Assign(2, resp_endp);
|
||||
// 3 and 4 are set below.
|
||||
conn_val->Assign(5, new TableVal(string_set)); // service
|
||||
conn_val->Assign(6, new StringVal("")); // addl
|
||||
conn_val->Assign(7, new Val(0, TYPE_COUNT)); // hot
|
||||
|
|
|
@ -3469,6 +3469,7 @@ Val* SetConstructorExpr::Eval(Frame* f) const
|
|||
{
|
||||
Val* element = exprs[i]->Eval(f);
|
||||
aggr->Assign(element, 0);
|
||||
Unref(element);
|
||||
}
|
||||
|
||||
return aggr;
|
||||
|
|
|
@ -385,6 +385,8 @@ LogMgr::Filter::~Filter()
|
|||
for ( int i = 0; i < num_fields; ++i )
|
||||
delete fields[i];
|
||||
|
||||
free(fields);
|
||||
|
||||
Unref(path_val);
|
||||
}
|
||||
|
||||
|
|
|
@ -364,7 +364,7 @@ char* uitoa_n(uint64 value, char* str, int n, int base, const char* prefix)
|
|||
i += strlen(prefix);
|
||||
}
|
||||
|
||||
if ( i >= n )
|
||||
if ( i >= n - 1 )
|
||||
return str;
|
||||
|
||||
v = value;
|
||||
|
|
5
testing/btest/core/leaks.bro
Normal file
5
testing/btest/core/leaks.bro
Normal file
|
@ -0,0 +1,5 @@
|
|||
# Needs perftools support.
|
||||
#
|
||||
# @TEST-REQUIRES: bro --help 2>&1 | grep -q mem-leaks
|
||||
#
|
||||
# @TEST-EXEC: HEAP_CHECK_DUMP_DIRECTORY=. HEAPCHECK=local bro -m -r $TRACES/wikipedia.trace test-all
|
Loading…
Add table
Add a link
Reference in a new issue