diff options
author | Istvan Miklos <imiklos2@inf.u-szeged.hu> | 2018-06-22 05:19:13 +0200 |
---|---|---|
committer | yichoi <duddlf.choi@samsung.com> | 2018-06-22 12:19:13 +0900 |
commit | dfc0757242a8adc0de9de8328cad01df5ab28bc2 (patch) | |
tree | 87c0a51d6952c92f56a6e16c42c8bb21e84fc4af /jerry-core | |
parent | e3265883fdaae349e9ab531ece6e6a6d09dfec34 (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.c | 9 |
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 */ /** |