cvs: php4 /ext/domxml php_domxml.c
| From: | Uwe Steinmann | Date: | Fri, 05 Jan 2001 14:11:20 +0000 |
| Subject: | cvs: php4 /ext/domxml php_domxml.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-3379@lists.php.net to get a copy of this message | ||
steinm Fri Jan 5 06:11:20 2001 EDT
Modified files:
/php4/ext/domxml php_domxml.c
Log:
- fixed potential segmfault in xmldoc() and xmldocfile()
Index: php4/ext/domxml/php_domxml.c
diff -u php4/ext/domxml/php_domxml.c:1.22 php4/ext/domxml/php_domxml.c:1.23
--- php4/ext/domxml/php_domxml.c:1.22 Thu Dec 28 09:25:11 2000
+++ php4/ext/domxml/php_domxml.c Fri Jan 5 06:11:19 2001
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: php_domxml.c,v 1.22 2000/12/28 17:25:11 rasmus Exp $ */
+/* $Id: php_domxml.c,v 1.23 2001/01/05 14:11:19 steinm Exp $ */
#include "php.h"
@@ -1062,7 +1062,7 @@
if(docp->name)
add_property_stringl(return_value, "name", (char *) docp->name,
strlen(docp->name), 1);
if(docp->URL)
- add_property_stringl(return_value, "url", (char *) docp->name,
strlen(docp->name), 1);
+ add_property_stringl(return_value, "url", (char *) docp->URL, strlen(docp->URL),
1);
add_property_stringl(return_value, "version", (char *) docp->version,
strlen(docp->version), 1);
if(docp->encoding)
add_property_stringl(return_value, "encoding", (char *) docp->encoding,
strlen(docp->encoding), 1);
@@ -1096,10 +1096,17 @@
/* construct an object with some methods */
object_init_ex(return_value, domxmldoc_class_entry_ptr);
add_property_resource(return_value, "doc", ret);
+ if(docp->name)
+ add_property_stringl(return_value, "name", (char *) docp->name,
strlen(docp->name), 1);
+ if(docp->URL)
+ add_property_stringl(return_value, "url", (char *) docp->URL, strlen(docp->URL),
1);
add_property_stringl(return_value, "version", (char *) docp->version,
strlen(docp->version), 1);
if(docp->encoding)
add_property_stringl(return_value, "encoding", (char *) docp->encoding,
strlen(docp->encoding), 1);
add_property_long(return_value, "standalone", docp->standalone);
+ add_property_long(return_value, "type", docp->type);
+ add_property_long(return_value, "compression", docp->compression);
+ add_property_long(return_value, "charset", docp->charset);
zend_list_addref(ret);
}
/* }}} */
@@ -1386,7 +1393,8 @@
zval *child;
xmlChar *content;
int ret;
-
+
+// if(last->type != XML_TEXT_NODE) {
/* Each child is a node object */
MAKE_STD_ZVAL(child);
ret = zend_list_insert(last, le_domxmlnodep);
@@ -1419,8 +1427,9 @@
if(0 <= node_children(&mchildren, last->children))
zend_hash_update(child->value.obj.properties, "children",
sizeof("children"), (void *) &mchildren, sizeof(zval *), NULL);
- last = last->next;
count++;
+// }
+ last = last->next;
}
return count;
}