From 65da8cf5de349b9b2e9fefb01bcff436ac177a54 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Mon, 30 Jan 2023 17:30:53 -0700 Subject: [PATCH] binpac: Avoid initializing array length variables twice in generated code --- tools/binpac/src/pac_array.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/binpac/src/pac_array.cc b/tools/binpac/src/pac_array.cc index 82e4f8c6fb..3df4eacd01 100644 --- a/tools/binpac/src/pac_array.cc +++ b/tools/binpac/src/pac_array.cc @@ -252,7 +252,9 @@ void ArrayType::GenArrayLength(Output* out_cc, Env* env, const DataPtr& data) if ( ! incremental_parsing() ) { arraylength_var_field_->GenTempDecls(out_cc, env); - arraylength_var_field_->GenInitCode(out_cc, env); + // This is about to get initialized below, don't initialize it twice. + if ( ! length_ && ! attr_restofdata_ ) + arraylength_var_field_->GenInitCode(out_cc, env); } if ( length_ )