From f1383d98c2dbfc76a412f57de806d2d17d86da31 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Wed, 12 Jun 2019 14:29:11 -0700 Subject: [PATCH] Return an empty vector if the indices for slicing don't make sense --- src/Expr.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Expr.cc b/src/Expr.cc index 3486ea1d6b..8d5bfcdc83 100644 --- a/src/Expr.cc +++ b/src/Expr.cc @@ -3112,7 +3112,7 @@ Val* IndexExpr::Fold(Val* v1, Val* v2) const else { int len = vect->Size(); - VectorVal* result = nullptr; + VectorVal* result = new VectorVal(vect->Type()->AsVectorType()); bro_int_t first = get_slice_index(lv->Index(0)->CoerceToInt(), len); bro_int_t last = get_slice_index(lv->Index(1)->CoerceToInt(), len); @@ -3120,7 +3120,6 @@ Val* IndexExpr::Fold(Val* v1, Val* v2) const if ( sub_length >= 0 ) { - result = new VectorVal(vect->Type()->AsVectorType()); result->Resize(sub_length); for ( int idx = first; idx < last; idx++ )