From 182c4ddefe6c1cd050361febb344ccd8cd5d1c96 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sat, 3 Aug 2019 14:25:14 +0100 Subject: box_construct: Check error return from dom_has_attribute Signed-off-by: Daniel Silverstone --- content/handlers/html/box_construct.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'content/handlers/html/box_construct.c') diff --git a/content/handlers/html/box_construct.c b/content/handlers/html/box_construct.c index 4d0cba748..a0eb69ed5 100644 --- a/content/handlers/html/box_construct.c +++ b/content/handlers/html/box_construct.c @@ -2229,8 +2229,13 @@ bool box_create_frameset(struct content_html_frames *f, dom_node *n, dom_string_unref(s); } - dom_element_has_attribute(c, corestring_dom_noresize, - &frame->no_resize); + if (dom_element_has_attribute(c, corestring_dom_noresize, + &frame->no_resize) != DOM_NO_ERR) { + /* If we can't read the attribute for some reason, + * assume we didn't have it. + */ + frame->no_resize = false; + } err = dom_element_get_attribute(c, corestring_dom_frameborder, &s); @@ -2849,7 +2854,10 @@ bool box_select_add_option(struct form_control *control, dom_node *n) if (value == NULL) goto no_memory; - dom_element_has_attribute(n, corestring_dom_selected, &selected); + if (dom_element_has_attribute(n, corestring_dom_selected, &selected) != DOM_NO_ERR) { + /* Assume not selected if we can't read the attribute presence */ + selected = false; + } /* replace spaces/TABs with hard spaces to prevent line wrapping */ text_nowrap = cnv_space2nbsp(text); -- cgit v1.2.3