diff options
| author | Rob Richards <rrichards@php.net> | 2004-02-16 13:06:33 +0000 |
|---|---|---|
| committer | Rob Richards <rrichards@php.net> | 2004-02-16 13:06:33 +0000 |
| commit | 602c786aa9bd025c5cf37326c770a959cba57936 (patch) | |
| tree | c9f9a9434c12d5f93680484f94107c5cb9399116 /ext/dom/attr.c | |
| parent | 5dcf37b6188b8dcec92720f0a41151622a8dd7b9 (diff) | |
| download | php-git-602c786aa9bd025c5cf37326c770a959cba57936.tar.gz | |
issue warning if object is in invalid state when dealing with properties
Diffstat (limited to 'ext/dom/attr.c')
| -rw-r--r-- | ext/dom/attr.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/dom/attr.c b/ext/dom/attr.c index 057d0d52e9..5929d88c7f 100644 --- a/ext/dom/attr.c +++ b/ext/dom/attr.c @@ -92,6 +92,12 @@ int dom_attr_name_read(dom_object *obj, zval **retval TSRMLS_DC) xmlAttrPtr attrp; attrp = (xmlAttrPtr) dom_object_get_node(obj); + + if (attrp == NULL) { + php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); + return FAILURE; + } + ALLOC_ZVAL(*retval); ZVAL_STRING(*retval, (char *) (attrp->name), 1); @@ -131,6 +137,11 @@ int dom_attr_value_read(dom_object *obj, zval **retval TSRMLS_DC) attrp = (xmlAttrPtr) dom_object_get_node(obj); + if (attrp == NULL) { + php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); + return FAILURE; + } + ALLOC_ZVAL(*retval); @@ -152,6 +163,11 @@ int dom_attr_value_write(dom_object *obj, zval *newval TSRMLS_DC) attrp = (xmlAttrPtr) dom_object_get_node(obj); + if (attrp == NULL) { + php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); + return FAILURE; + } + if (attrp->children) { node_list_unlink(attrp->children TSRMLS_CC); } @@ -190,6 +206,11 @@ int dom_attr_owner_element_read(dom_object *obj, zval **retval TSRMLS_DC) nodep = dom_object_get_node(obj); + if (nodep == NULL) { + php_dom_throw_error(INVALID_STATE_ERR, 0 TSRMLS_CC); + return FAILURE; + } + nodeparent = nodep->parent; if (!nodeparent) { return FAILURE; |
