cvs: php4 /ext/xml compat.c

From: Date: Wed, 07 May 2003 20:06:42 +0000
Subject: cvs: php4 /ext/xml compat.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-20774@lists.php.net to get a copy of this message
moriyoshi Wed May 7 16:06:42 2003 EDT Modified files: /php4/ext/xml compat.c Log: Added missing object initialisation Added missing sanity checks Index: php4/ext/xml/compat.c diff -u php4/ext/xml/compat.c:1.4 php4/ext/xml/compat.c:1.5 --- php4/ext/xml/compat.c:1.4 Wed May 7 15:52:30 2003 +++ php4/ext/xml/compat.c Wed May 7 16:06:42 2003 @@ -86,6 +86,10 @@ XML_Parser parser = (XML_Parser) user; xmlChar *qualified_name = NULL; + if (parser->h_start_element == NULL) { + return; + } + if (parser->namespace) { _find_namespace_decl(parser, name, attributes); _qualify_namespace(parser, name, &qualified_name); @@ -104,6 +108,10 @@ xmlChar *qualified_name; XML_Parser parser = (XML_Parser) user; + if (parser->h_end_element == NULL) { + return; + } + if (parser->namespace) { xmlChar *nsname; @@ -127,6 +135,10 @@ { XML_Parser parser = (XML_Parser) user; + if (parser->h_cdata == NULL) { + return; + } + parser->h_cdata(parser->user, (const XML_Char *) cdata, cdata_len); } @@ -135,6 +147,10 @@ { XML_Parser parser = (XML_Parser) user; + if (parser->h_pi == NULL) { + return; + } + parser->h_pi(parser->user, (const XML_Char *) target, (const XML_Char *) data); } @@ -147,6 +163,10 @@ { XML_Parser parser = (XML_Parser) user; + if (parser->h_unparsed_entity_decl == NULL) { + return; + } + parser->h_unparsed_entity_decl(parser->user, name, NULL, sys_id, pub_id, notation); } @@ -155,6 +175,10 @@ { XML_Parser parser = (XML_Parser) user; + if (parser->h_notation_decl == NULL) { + return; + } + parser->h_notation_decl(parser->user, notation, NULL, sys_id, pub_id); } @@ -163,7 +187,11 @@ { XML_Parser parser = (XML_Parser) user; - parser->h_external_entity_ref(parser->user, names, NULL, sys_id, pub_id); + if (parser->h_external_entity_ref == NULL) { + return; + } + + parser->h_external_entity_ref(parser, names, NULL, sys_id, pub_id); } static xmlSAXHandler @@ -240,6 +268,7 @@ xmlMemSetup(memsuite->free_fcn, memsuite->malloc_fcn, memsuite->realloc_fcn, _expat_cpt_intn_strdup); /* WHOCANFIXME: not reentrant ! */ parser = (XML_Parser) memsuite->malloc_fcn(sizeof(struct _XML_Parser)); + memset(parser, 0, sizeof(struct _XML_Parser)); parser->namespace = 0; parser->mem_hdlrs = *memsuite; parser->parser = xmlCreatePushParserCtxt((xmlSAXHandlerPtr) &php_xml_compat_handlers, (void *) parser, NULL, 0, NULL);

« previous php.cvs (#20774) next »