diff options
Diffstat (limited to 'ext/dom/attr.c')
-rw-r--r-- | ext/dom/attr.c | 7 |
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); |