Release operands properly in opfunc_addition (#2909)
Right and left value release wasn't complete Fixes #2901 Fixes #2902 Co-authored-by: Tibor Dusnoki <tdusnoki@inf.u-szeged.hu> JerryScript-DCO-1.0-Signed-off-by: Adam Szilagyi aszilagy@inf.u-szeged.hu
This commit is contained in:
committed by
Dániel Bátyai
parent
01ecc7bb7b
commit
6e9cf4d459
@@ -136,6 +136,14 @@ opfunc_addition (ecma_value_t left_value, /**< left value */
|
||||
|
||||
if (ECMA_IS_VALUE_ERROR (str_left_value))
|
||||
{
|
||||
if (free_left_value)
|
||||
{
|
||||
ecma_free_value (left_value);
|
||||
}
|
||||
if (free_right_value)
|
||||
{
|
||||
ecma_free_value (right_value);
|
||||
}
|
||||
return str_left_value;
|
||||
}
|
||||
|
||||
@@ -145,7 +153,14 @@ opfunc_addition (ecma_value_t left_value, /**< left value */
|
||||
|
||||
if (ECMA_IS_VALUE_ERROR (str_right_value))
|
||||
{
|
||||
ecma_free_value (right_value);
|
||||
if (free_right_value)
|
||||
{
|
||||
ecma_free_value (right_value);
|
||||
}
|
||||
if (free_left_value)
|
||||
{
|
||||
ecma_free_value (left_value);
|
||||
}
|
||||
ecma_deref_ecma_string (string1_p);
|
||||
return str_right_value;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user