mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Add missing jerry_release_value by calling jerry_set_property and jerry_set_property_by_index (#2821)
JerryScript-DCO-1.0-Signed-off-by: jerry-weng jjweng2007@gmail.com
This commit is contained in:
parent
5be93dc7f7
commit
9d7a0db0dd
@ -6737,7 +6737,7 @@ jerry_json_stringify (const jerry_value_t object_to_stringify);
|
||||
jerry_value_t obj = jerry_create_object ();
|
||||
jerry_value_t key = jerry_create_string ((const jerry_char_t *) "name");
|
||||
jerry_value_t value = jerry_create_string ((const jerry_char_t *) "John");
|
||||
jerry_set_property (obj, key, value);
|
||||
jerry_release_value (jerry_set_property (obj, key, value));
|
||||
jerry_value_t stringified = jerry_json_stringify (obj);
|
||||
|
||||
//stringified now contains a json formated string
|
||||
|
||||
@ -151,7 +151,7 @@ main (void)
|
||||
jerry_value_t prop_value = jerry_create_string (str);
|
||||
|
||||
/* Setting the string value as a property of the Global object */
|
||||
jerry_set_property (global_object, prop_name, prop_value);
|
||||
jerry_release_value (jerry_set_property (global_object, prop_name, prop_value));
|
||||
|
||||
/* Releasing string values, as it is no longer necessary outside of engine */
|
||||
jerry_release_value (prop_name);
|
||||
@ -386,7 +386,7 @@ main (void)
|
||||
|
||||
/* Set the native function as a property of the empty JS object */
|
||||
jerry_value_t prop_name = jerry_create_string ((const jerry_char_t *) "myFunc");
|
||||
jerry_set_property (object, prop_name, func_obj);
|
||||
jerry_release_value (jerry_set_property (object, prop_name, func_obj));
|
||||
jerry_release_value (prop_name);
|
||||
jerry_release_value (func_obj);
|
||||
|
||||
@ -395,7 +395,7 @@ main (void)
|
||||
|
||||
/* Add the JS object to the global context */
|
||||
prop_name = jerry_create_string ((const jerry_char_t *) "MyObject");
|
||||
jerry_set_property (global_object, prop_name, object);
|
||||
jerry_release_value (jerry_set_property (global_object, prop_name, object));
|
||||
jerry_release_value (prop_name);
|
||||
jerry_release_value (object);
|
||||
jerry_release_value (global_object);
|
||||
@ -462,7 +462,7 @@ add_handler (const jerry_value_t func_value, /**< function object */
|
||||
jerry_value_t res_val = jerry_create_number (x + d);
|
||||
|
||||
/* Set the new value of 'this.x' */
|
||||
jerry_set_property (this_val, prop_name, res_val);
|
||||
jerry_release_value (jerry_set_property (this_val, prop_name, res_val));
|
||||
jerry_release_value (res_val);
|
||||
}
|
||||
|
||||
@ -506,7 +506,7 @@ main (void)
|
||||
|
||||
/* Set the native function as a property of previously created MyObject */
|
||||
jerry_value_t prop_name = jerry_create_string ((const jerry_char_t *) "add2x");
|
||||
jerry_set_property (my_js_obj_val, prop_name, add_func_obj);
|
||||
jerry_release_value (jerry_set_property (my_js_obj_val, prop_name, add_func_obj));
|
||||
jerry_release_value (add_func_obj);
|
||||
jerry_release_value (prop_name);
|
||||
|
||||
|
||||
@ -139,7 +139,7 @@ DECLARE_CLASS_FUNCTION(I2C, read) {
|
||||
|
||||
for (uint32_t i = 0; i < data_len; i++) {
|
||||
jerry_value_t val = jerry_create_number(double(data[i]));
|
||||
jerry_set_property_by_index(out_array, i, val);
|
||||
jerry_release_value(jerry_set_property_by_index(out_array, i, val));
|
||||
jerry_release_value(val);
|
||||
}
|
||||
|
||||
|
||||
@ -99,7 +99,7 @@ DECLARE_CLASS_FUNCTION(InterruptIn, rise) {
|
||||
|
||||
// Keep track of our callback internally.
|
||||
jerry_value_t property_name = jerry_create_string((const jerry_char_t*)"cb_rise");
|
||||
jerry_set_property(this_obj, property_name, f);
|
||||
jerry_release_value(jerry_set_property(this_obj, property_name, f));
|
||||
jerry_release_value(property_name);
|
||||
|
||||
return jerry_create_undefined();
|
||||
@ -164,7 +164,7 @@ DECLARE_CLASS_FUNCTION(InterruptIn, fall) {
|
||||
|
||||
// Keep track of our callback internally.
|
||||
jerry_value_t property_name = jerry_create_string((const jerry_char_t*)"cb_fall");
|
||||
jerry_set_property(this_obj, property_name, f);
|
||||
jerry_release_value(jerry_set_property(this_obj, property_name, f));
|
||||
jerry_release_value(property_name);
|
||||
|
||||
return jerry_create_undefined();
|
||||
|
||||
@ -39,7 +39,7 @@ void jsmbed_js_load_magic_strings() {
|
||||
jerry_value_t constant_value = jerry_create_number(jsmbed_js_magic_string_values[idx]);
|
||||
jerry_value_t magic_string = jerry_create_string(jsmbed_js_magic_strings[idx]);
|
||||
|
||||
jerry_set_property(global, magic_string, constant_value);
|
||||
jerry_release_value(jerry_set_property(global, magic_string, constant_value));
|
||||
|
||||
jerry_release_value(constant_value);
|
||||
jerry_release_value(magic_string);
|
||||
|
||||
@ -67,7 +67,7 @@ bool jsmbed_wrap_register_class_function(jerry_value_t this_obj, const char* nam
|
||||
jerry_value_t property_name = jerry_create_string(reinterpret_cast<const jerry_char_t *>(name));
|
||||
jerry_value_t handler_obj = jerry_create_external_function(handler);
|
||||
|
||||
jerry_set_property(this_obj, property_name, handler_obj);
|
||||
jerry_release_value(jerry_set_property(this_obj, property_name, handler_obj));
|
||||
|
||||
jerry_release_value(handler_obj);
|
||||
jerry_release_value(property_name);
|
||||
|
||||
@ -80,13 +80,13 @@ init_jerry ()
|
||||
|
||||
func_obj = jerry_create_external_function (set_led);
|
||||
prop_name = jerry_create_string ((const jerry_char_t *) "setLed");
|
||||
jerry_set_property (object, prop_name, func_obj);
|
||||
jerry_release_value (jerry_set_property (object, prop_name, func_obj));
|
||||
jerry_release_value (prop_name);
|
||||
jerry_release_value (func_obj);
|
||||
|
||||
func_obj = jerry_create_external_function (js_delay);
|
||||
prop_name = jerry_create_string ((const jerry_char_t *) "delay");
|
||||
jerry_set_property (object, prop_name, func_obj);
|
||||
jerry_release_value (jerry_set_property (object, prop_name, func_obj));
|
||||
jerry_release_value (prop_name);
|
||||
jerry_release_value (func_obj);
|
||||
|
||||
@ -95,7 +95,7 @@ init_jerry ()
|
||||
|
||||
/* Add the JS object to the global context */
|
||||
prop_name = jerry_create_string ((const jerry_char_t *) "test");
|
||||
jerry_set_property (global_object, prop_name, object);
|
||||
jerry_release_value (jerry_set_property (global_object, prop_name, object));
|
||||
jerry_release_value (prop_name);
|
||||
jerry_release_value (object);
|
||||
jerry_release_value (global_object);
|
||||
|
||||
@ -154,7 +154,10 @@ handler_construct (const jerry_value_t func_obj_val, /**< function object */
|
||||
TEST_ASSERT (jerry_get_boolean_value (args_p[0]) == true);
|
||||
|
||||
jerry_value_t field_name = jerry_create_string ((jerry_char_t *) "value_field");
|
||||
jerry_set_property (this_val, field_name, args_p[0]);
|
||||
jerry_value_t res = jerry_set_property (this_val, field_name, args_p[0]);
|
||||
TEST_ASSERT (!jerry_value_is_error (res));
|
||||
TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res));
|
||||
jerry_release_value (res);
|
||||
jerry_release_value (field_name);
|
||||
|
||||
jerry_set_object_native_pointer (this_val,
|
||||
@ -634,7 +637,10 @@ main (void)
|
||||
TEST_ASSERT (jerry_get_array_length (array_obj_val) == 10);
|
||||
|
||||
jerry_value_t v_in = jerry_create_number (10.5);
|
||||
jerry_set_property_by_index (array_obj_val, 5, v_in);
|
||||
res = jerry_set_property_by_index (array_obj_val, 5, v_in);
|
||||
TEST_ASSERT (!jerry_value_is_error (res));
|
||||
TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res));
|
||||
jerry_release_value (res);
|
||||
jerry_value_t v_out = jerry_get_property_by_index (array_obj_val, 5);
|
||||
|
||||
TEST_ASSERT (jerry_value_is_number (v_out)
|
||||
@ -899,7 +905,10 @@ main (void)
|
||||
char check_value[] = "{\"name\":\"John\"}";
|
||||
jerry_value_t key = jerry_create_string ((const jerry_char_t *) "name");
|
||||
jerry_value_t value = jerry_create_string ((const jerry_char_t *) "John");
|
||||
jerry_set_property (obj, key, value);
|
||||
res = jerry_set_property (obj, key, value);
|
||||
TEST_ASSERT (!jerry_value_is_error (res));
|
||||
TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res));
|
||||
jerry_release_value (res);
|
||||
jerry_value_t stringified = jerry_json_stringify (obj);
|
||||
TEST_ASSERT (jerry_value_is_string (stringified));
|
||||
char buff[jerry_get_string_length (stringified)];
|
||||
|
||||
@ -199,6 +199,7 @@ main (int argc, char **argv)
|
||||
(void) argc;
|
||||
(void) argv;
|
||||
jerry_value_t js_global = 0, js_function = 0, js_property_name = 0;
|
||||
jerry_value_t res;
|
||||
|
||||
#ifndef ENABLE_INIT_FINI
|
||||
my_broken_module_register ();
|
||||
@ -211,13 +212,19 @@ main (int argc, char **argv)
|
||||
|
||||
js_function = jerry_create_external_function (handle_require);
|
||||
js_property_name = jerry_create_string ((const jerry_char_t *) "require");
|
||||
jerry_set_property (js_global, js_property_name, js_function);
|
||||
res = jerry_set_property (js_global, js_property_name, js_function);
|
||||
TEST_ASSERT (!jerry_value_is_error (res));
|
||||
TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res));
|
||||
jerry_release_value (res);
|
||||
jerry_release_value (js_property_name);
|
||||
jerry_release_value (js_function);
|
||||
|
||||
js_function = jerry_create_external_function (handle_clear_require_cache);
|
||||
js_property_name = jerry_create_string ((const jerry_char_t *) "clear_require_cache");
|
||||
jerry_set_property (js_global, js_property_name, js_function);
|
||||
res = jerry_set_property (js_global, js_property_name, js_function);
|
||||
TEST_ASSERT (!jerry_value_is_error (res));
|
||||
TEST_ASSERT (jerry_value_is_boolean (res) && jerry_get_boolean_value (res));
|
||||
jerry_release_value (res);
|
||||
jerry_release_value (js_property_name);
|
||||
jerry_release_value (js_function);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user