mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 14:48:21 +00:00
Merge remote-tracking branch 'origin/topic/jsiwek/fix-expire-func-leaks'
* origin/topic/jsiwek/fix-expire-func-leaks: Fix memory leaks in expire_func introduced by recent changes
This commit is contained in:
commit
bae60aee31
3 changed files with 16 additions and 8 deletions
5
CHANGES
5
CHANGES
|
@ -1,4 +1,9 @@
|
|||
|
||||
2.6-713 | 2019-07-30 18:12:49 +0000
|
||||
|
||||
* Fix memory leaks in expire_func introduced by recent changes (Jon
|
||||
Siwek, Corelight)
|
||||
|
||||
2.6-711 | 2019-07-29 20:15:27 -0700
|
||||
|
||||
* Fix duplicate TCP packets not being detected as retransmissions (Jeff Barber)
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
2.6-711
|
||||
2.6-713
|
||||
|
|
15
src/Val.cc
15
src/Val.cc
|
@ -2339,24 +2339,27 @@ double TableVal::CallExpireFunc(Val* idx)
|
|||
{
|
||||
if ( ! any_idiom )
|
||||
{
|
||||
const val_list* vl0 = idx->AsListVal()->Vals();
|
||||
for ( const auto& v : *idx->AsListVal()->Vals() )
|
||||
vl.append(v->Ref());
|
||||
|
||||
Unref(idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
ListVal* idx_list = idx->AsListVal();
|
||||
// Flatten if only one element
|
||||
if ( idx_list->Length() == 1 )
|
||||
idx = idx_list->Index(0);
|
||||
{
|
||||
Val* old = idx;
|
||||
idx = idx_list->Index(0)->Ref();
|
||||
Unref(old);
|
||||
}
|
||||
|
||||
vl.append(idx->Ref());
|
||||
vl.append(idx);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
vl.append(idx->Ref());
|
||||
}
|
||||
vl.append(idx);
|
||||
|
||||
Val* result = 0;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue