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);