From 98663fd534837f59806401f01499cd0d82bca22c Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Tue, 18 Dec 2012 15:31:50 -0600 Subject: [PATCH] Fix return value of hook calls that have no handlers. For this case, the return value is always true. --- src/Func.cc | 2 +- testing/btest/Baseline/language.hook/out | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Func.cc b/src/Func.cc index cf548b2d95..37ab7deee7 100644 --- a/src/Func.cc +++ b/src/Func.cc @@ -288,7 +288,7 @@ Val* BroFunc::Call(val_list* args, Frame* parent) const assert(Flavor() == FUNC_FLAVOR_EVENT || Flavor() == FUNC_FLAVOR_HOOK); loop_over_list(*args, i) Unref((*args)[i]); - return 0 ; + return Flavor() == FUNC_FLAVOR_HOOK ? new Val(true, TYPE_BOOL) : 0; } SegmentProfiler(segment_logger, location); diff --git a/testing/btest/Baseline/language.hook/out b/testing/btest/Baseline/language.hook/out index bef25193b8..d4f367f875 100644 --- a/testing/btest/Baseline/language.hook/out +++ b/testing/btest/Baseline/language.hook/out @@ -3,6 +3,7 @@ myhook return F myhook return T myhook, &priority=5, [a=37, b=goobye world] F +T myhook3, 8 T myhook4, 2