aboutsummaryrefslogtreecommitdiff
path: root/jerry-core
diff options
context:
space:
mode:
authorIstvan Miklos <imiklos2@inf.u-szeged.hu>2018-06-22 05:19:13 +0200
committeryichoi <duddlf.choi@samsung.com>2018-06-22 12:19:13 +0900
commitdfc0757242a8adc0de9de8328cad01df5ab28bc2 (patch)
tree87c0a51d6952c92f56a6e16c42c8bb21e84fc4af /jerry-core
parente3265883fdaae349e9ab531ece6e6a6d09dfec34 (diff)
Fix jerry_create_error_from_value (#2403)
Fixed the release issue, added some test cases for the function JerryScript-DCO-1.0-Signed-off-by: Istvan Miklos imiklos2@inf.u-szeged.hu
Diffstat (limited to 'jerry-core')
-rw-r--r--jerry-core/api/jerry.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/jerry-core/api/jerry.c b/jerry-core/api/jerry.c
index 52aa341e..79af048c 100644
--- a/jerry-core/api/jerry.c
+++ b/jerry-core/api/jerry.c
@@ -954,20 +954,19 @@ jerry_create_error_from_value (jerry_value_t value, /**< api value */
* binary size rather than performance. */
if (!jerry_value_is_abort (value))
{
- return (release ? value : jerry_acquire_value (value));
+ return release ? value : jerry_acquire_value (value);
}
value = jerry_get_value_from_error (value, release);
release = true;
}
- jerry_value_t ret_val = ecma_create_error_reference (value, true);
- if (release)
+ if (!release)
{
- jerry_release_value (value);
+ value = ecma_copy_value (value);
}
- return ret_val;
+ return ecma_create_error_reference (value, true);
} /* jerry_create_error_from_value */
/**