GH-162: fix segfault when &expire_func is missing a return value

Fixes GH-162
This commit is contained in:
Jon Siwek 2019-01-14 14:18:46 -06:00
parent cada0d5e6e
commit 399660c9eb
3 changed files with 12 additions and 5 deletions

View file

@ -1,4 +1,8 @@
2.6-68 | 2019-01-14 14:18:46 -0600
* GH-162: fix segfault when &expire_func is missing a return value (Jon Siwek, Corelight)
2.6-67 | 2019-01-14 14:01:00 -0600
* GH-161: fix segfault in &default type checking for sets (Jon Siwek, Corelight)

View file

@ -1 +1 @@
2.6-67
2.6-68

View file

@ -2466,7 +2466,7 @@ double TableVal::CallExpireFunc(Val* idx)
vl->append(idx);
double secs;
double secs = 0;
try
{
@ -2488,16 +2488,19 @@ double TableVal::CallExpireFunc(Val* idx)
}
Val* vs = vf->AsFunc()->Call(vl);
secs = vs->AsInterval();
if ( vs )
{
secs = vs->AsInterval();
Unref(vs);
}
Unref(vf);
Unref(vs);
delete vl;
}
catch ( InterpreterException& e )
{
secs = 0;
}
return secs;