summaryrefslogtreecommitdiff
path: root/ext/dom/attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dom/attr.c')
-rw-r--r--ext/dom/attr.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/dom/attr.c b/ext/dom/attr.c
index f59b46799f..0255708517 100644
--- a/ext/dom/attr.c
+++ b/ext/dom/attr.c
@@ -160,12 +160,15 @@ int dom_attr_value_write(dom_object *obj, zval *newval)
return FAILURE;
}
+ str = zval_get_string(newval);
+ if (EG(exception)) {
+ return FAILURE;
+ }
+
if (attrp->children) {
node_list_unlink(attrp->children);
}
- str = zval_get_string(newval);
-
xmlNodeSetContentLen((xmlNodePtr) attrp, (xmlChar *) ZSTR_VAL(str), ZSTR_LEN(str) + 1);
zend_string_release_ex(str, 0);