diff --git a/src/Val.cc b/src/Val.cc index cf9ee031fd..e0ba8df9bf 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -2866,7 +2866,7 @@ RecordVal::RecordVal(RecordType* t) : MutableVal(t) else if ( tag == TYPE_TABLE ) def = new TableVal(type->AsTableType(), a); - else if ( t->Tag() == TYPE_VECTOR ) + else if ( tag == TYPE_VECTOR ) def = new VectorVal(type->AsVectorType()); } diff --git a/testing/btest/Baseline/language.rec-comp-init/output b/testing/btest/Baseline/language.rec-comp-init/output new file mode 100644 index 0000000000..fedb9177c7 --- /dev/null +++ b/testing/btest/Baseline/language.rec-comp-init/output @@ -0,0 +1,5 @@ +[a={ + +}, b={ + +}, c=[]] diff --git a/testing/btest/language/rec-comp-init.bro b/testing/btest/language/rec-comp-init.bro new file mode 100644 index 0000000000..598c0cf3bd --- /dev/null +++ b/testing/btest/language/rec-comp-init.bro @@ -0,0 +1,14 @@ +# @TEST-EXEC: bro %INPUT >output 2>&1 +# @TEST-EXEC: btest-diff output + +# Make sure composit types in records are initialized. + +type Foo: record { + a: set[count]; + b: table[count] of string; + c: vector of string; +}; + +global f: Foo; + +print f;