1
0
mirror of https://github.com/rkd77/elinks.git synced 2025-02-02 15:09:23 -05:00

[mujs] check NULL in appendChild

This commit is contained in:
Witold Filipczyk 2024-09-17 12:57:14 +02:00
parent eba068ba2a
commit 6da4f98a91
3 changed files with 24 additions and 12 deletions

View File

@ -2339,14 +2339,18 @@ mjs_element_appendChild(js_State *J)
struct ecmascript_interpreter *interpreter = (struct ecmascript_interpreter *)js_getcontext(J);
dom_node *el = (dom_node *)(mjs_getprivate(J, 0));
dom_node *res = NULL;
dom_exception exc;
if (!el) {
js_pushnull(J);
js_error(J, "error");
return;
}
dom_node *el2 = (dom_node *)(mjs_getprivate_any(J, 1));
exc = dom_node_append_child(el, el2, &res);
if (!el2) {
js_error(J, "error");
return;
}
dom_exception exc = dom_node_append_child(el, el2, &res);
if (exc == DOM_NO_ERR && res) {
interpreter->changed = 1;
@ -2357,7 +2361,7 @@ fprintf(stderr, "Before: %s:%d\n", __FUNCTION__, __LINE__);
dom_node_unref(res);
return;
}
js_pushnull(J);
js_error(J, "error");
}
/* @element_funcs{"blur"} */

View File

@ -861,14 +861,18 @@ mjs_fragment_appendChild(js_State *J)
struct ecmascript_interpreter *interpreter = (struct ecmascript_interpreter *)js_getcontext(J);
dom_node *el = (dom_node *)(mjs_getprivate_fragment(J, 0));
dom_node *res = NULL;
dom_exception exc;
if (!el) {
js_pushnull(J);
js_error(J, "error");
return;
}
dom_node *el2 = (dom_node *)(mjs_getprivate_fragment(J, 1));
exc = dom_node_append_child(el, el2, &res);
if (!el2) {
js_error(J, "error");
return;
}
dom_exception exc = dom_node_append_child(el, el2, &res);
if (exc == DOM_NO_ERR && res) {
interpreter->changed = 1;
@ -879,7 +883,7 @@ fprintf(stderr, "Before: %s:%d\n", __FUNCTION__, __LINE__);
dom_node_unref(res);
return;
}
js_pushnull(J);
js_error(J, "error");
}
static void

View File

@ -893,14 +893,18 @@ mjs_text_appendChild(js_State *J)
struct ecmascript_interpreter *interpreter = (struct ecmascript_interpreter *)js_getcontext(J);
dom_node *el = (dom_node *)(mjs_getprivate_text(J, 0));
dom_node *res = NULL;
dom_exception exc;
if (!el) {
js_pushnull(J);
js_error(J, "error");
return;
}
dom_node *el2 = (dom_node *)(mjs_getprivate_any(J, 1));
exc = dom_node_append_child(el, el2, &res);
if (!el2) {
js_error(J, "error");
return;
}
dom_exception exc = dom_node_append_child(el, el2, &res);
if (exc == DOM_NO_ERR && res) {
interpreter->changed = 1;
@ -911,7 +915,7 @@ fprintf(stderr, "Before: %s:%d\n", __FUNCTION__, __LINE__);
dom_node_unref(res);
return;
}
js_pushnull(J);
js_error(J, "error");
}
static void