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

@ -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;