From f9cd97d78d20ac6ad0875db859909817409171ab Mon Sep 17 00:00:00 2001 From: Robin Sommer Date: Mon, 15 Aug 2011 20:56:59 -0700 Subject: [PATCH] Fixing ref'counting problem. --- aux/broctl | 2 +- src/Expr.cc | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) 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;