From e9a0a50da5b8bdb28d2e2db0072da9ef5c07cf50 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Thu, 16 May 2024 14:26:57 -0700 Subject: [PATCH] bug fix for dealing with illegal types of initializers --- src/Type.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Type.cc b/src/Type.cc index 245565a16b..5341476a3f 100644 --- a/src/Type.cc +++ b/src/Type.cc @@ -2537,6 +2537,11 @@ TypePtr init_type(const detail::ExprPtr& init) { if ( init->Tag() != detail::EXPR_LIST ) { auto t = init->InitType(); + if ( ! t ) { + init->Error("not a valid initializer"); + return nullptr; + } + if ( (t->Tag() == TYPE_TABLE && cast_intrusive(t)->IsUnspecifiedTable()) || (t->Tag() == TYPE_VECTOR && cast_intrusive(t)->IsUnspecifiedVector()) ) { init->Error("empty constructor in untyped initialization");