# HG changeset patch # User Markus Mützel # Date 1638517040 -3600 # Node ID e658f400a30e335b0f105597571eb8b9b862bf1b # Parent 2033c05c9522cea051c686723b80ee3f78b7b4b5 Fix possible lifetime issue (bug #61132). * libinterp/octave-value/ov.cc (make_range): Assign temporary value to variable with defined scope. diff -r 2033c05c9522 -r e658f400a30e libinterp/octave-value/ov.cc --- a/libinterp/octave-value/ov.cc Fri Dec 03 10:28:31 2021 -0500 +++ b/libinterp/octave-value/ov.cc Fri Dec 03 08:37:20 2021 +0100 @@ -3037,14 +3037,15 @@ || limit.is_uint32_type () || limit.is_uint64_type ()) && increment.scalar_value () < 0; + octave_value inc = (reverse ? -increment : increment); + check_colon_operand (base, "lower bound"); - check_colon_operand ((reverse ? -increment : increment), "increment"); + check_colon_operand (inc, "increment"); check_colon_operand (limit, "upper bound"); T base_val = octave_value_extract (base); - T increment_val = octave_value_extract (reverse ? -increment - : increment); + T increment_val = octave_value_extract (inc); T limit_val = octave_value_extract (limit);