diff --git a/aux/broctl b/aux/broctl index c39622855e..ad8dfaba0c 160000 --- a/aux/broctl +++ b/aux/broctl @@ -1 +1 @@ -Subproject commit c39622855e3c3a5cc94c7376f86184ed1db1939a +Subproject commit ad8dfaba0c0c784060aa6f0c5e1fcf62244b1a51 diff --git a/src/Expr.cc b/src/Expr.cc index c4fbe5930a..2e07c41d28 100644 --- a/src/Expr.cc +++ b/src/Expr.cc @@ -5022,13 +5022,11 @@ Val* ListExpr::InitVal(const BroType* t, Val* aggr) const Expr* e = exprs[i]; check_and_promote_expr(e, vec->Type()->AsVectorType()->YieldType()); Val* v = e->Eval(0); - if ( ! vec->Assign(i, v->RefCnt() == 1 ? v->Ref() : v, e) ) + if ( ! vec->Assign(i, v, e) ) { e->Error(fmt("type mismatch at index %d", i)); return 0; } - - Unref(v); } return aggr;