diff --git a/cpp/velox/substrait/VeloxToSubstraitExpr.cc b/cpp/velox/substrait/VeloxToSubstraitExpr.cc index 66a2b4ff80f3..807c342cbd5b 100644 --- a/cpp/velox/substrait/VeloxToSubstraitExpr.cc +++ b/cpp/velox/substrait/VeloxToSubstraitExpr.cc @@ -141,7 +141,7 @@ const ::substrait::Expression_Literal& toSubstraitNotNullLiteral( } case velox::TypeKind::VARCHAR: { auto vCharValue = variantValue.value(); - ::substrait::Expression_Literal::VarChar* sVarChar = new ::substrait::Expression_Literal::VarChar(); + auto* sVarChar = google::protobuf::Arena::CreateMessage<::substrait::Expression_Literal::VarChar>(&arena); sVarChar->set_value(vCharValue.data()); sVarChar->set_length(vCharValue.size()); literalExpr->set_allocated_var_char(sVarChar); @@ -261,7 +261,7 @@ const ::substrait::Expression_Literal& toSubstraitNotNullLiteral(&arena); - ::substrait::Expression_Literal::VarChar* sVarChar = new ::substrait::Expression_Literal::VarChar(); + auto* sVarChar = google::protobuf::Arena::CreateMessage<::substrait::Expression_Literal::VarChar>(&arena); sVarChar->set_value(value.data()); sVarChar->set_length(value.size()); literalExpr->set_allocated_var_char(sVarChar);