From 7f2aae1721c82c154ee102daae4ae67a68ca0320 Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Tue, 14 Jul 2020 15:55:28 -0700 Subject: [PATCH] GH-1062: fix integer conversion errors related to Tag subtypes --- src/Val.h | 2 +- src/parse.y | 3 +-- testing/btest/plugins/protocol-plugin/src/Plugin.cc | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Val.h b/src/Val.h index 822fbb1ec7..33f0d2290c 100644 --- a/src/Val.h +++ b/src/Val.h @@ -1254,7 +1254,7 @@ protected: template friend zeek::IntrusivePtr zeek::make_intrusive(Ts&&... args); - EnumVal(zeek::EnumTypePtr t, int i) : Val(bro_int_t(i), std::move(t)) + EnumVal(zeek::EnumTypePtr t, bro_int_t i) : Val(i, std::move(t)) {} void ValDescribe(ODesc* d) const override; diff --git a/src/parse.y b/src/parse.y index 5e0119de1f..4b1cf8bd49 100644 --- a/src/parse.y +++ b/src/parse.y @@ -692,8 +692,7 @@ expr: else if ( id->IsEnumConst() ) { zeek::EnumType* t = id->GetType()->AsEnumType(); - int intval = t->Lookup(id->ModuleName(), - id->Name()); + auto intval = t->Lookup(id->ModuleName(), id->Name()); if ( intval < 0 ) reporter->InternalError("enum value not found for %s", id->Name()); $$ = new zeek::detail::ConstExpr(t->GetVal(intval)); diff --git a/testing/btest/plugins/protocol-plugin/src/Plugin.cc b/testing/btest/plugins/protocol-plugin/src/Plugin.cc index 5a7bfb63b2..f60b549858 100644 --- a/testing/btest/plugins/protocol-plugin/src/Plugin.cc +++ b/testing/btest/plugins/protocol-plugin/src/Plugin.cc @@ -10,7 +10,7 @@ using namespace plugin::Demo_Foo; plugin::Configuration Plugin::Configure() { - AddComponent(new ::analyzer::Component("Foo", plugin::Demo_Foo::Foo::Instantiate)); + AddComponent(new ::analyzer::Component("Foo", plugin::Demo_Foo::Foo::Instantiate, 1)); plugin::Configuration config; config.name = "Demo::Foo";