php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8425 PHP crashes if I include a page that uses xml parser.
Submitted: 2000-12-26 12:09 UTC Modified: 2001-01-03 07:41 UTC
From: kirys at kt2k dot com Assigned:
Status: Closed Package: Reproducible Crash
PHP Version: 4.0.4 OS: Windows NT 4.0
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: kirys at kt2k dot com
New email:
PHP Version: OS:

 

 [2000-12-26 12:09 UTC] kirys at kt2k dot com
The same script doesn't crash if used under v4.0.3
no additional modules used
The page MUST be included in a php file


Script Source code:
<?php
echo ".";
$file = "xml/links.xml";
$depth = array();
function startElement($parser, $name, $attrs) {
    global $depth;
  //  for ($i = 0; $i < $depth[$parser]; $i++) {}
	switch ($name){
	case "LINKPAGE";
		print"<TABLE WIDTH=\"98%\" CELLSPACING=2 CELLPADDING=1
BORDER=0>\n";
		print"<TR BGCOLOR=\"Blue\"><TD
CLASS=\"ListTitle2\">Title</TD><TD
CLASS=\"ListTitle2\">Vote</TD><TD
CLASS=\"ListTitle2\">Comments</TD></TR>\n";
		break;
	case "LINK":
		print "<TR><TD CLASS=\"ListTitle2\"><A CLASS=\"Menu\"
HREF=\"".$attrs["URL"]."\">".$attrs["TITLE"]."</A></TD>";
		print "<TD BGCOLOR=\"Silver\"
ALIGN=\"CENTER\">".$attrs["VOTE"]."</TD><TD
BGCOLOR=\"Silver\">";
		break;
	case "SECTION":
		print "<TR><TD CLASS=\"ListTitle\" COLSPAN=3><CENTER>";
		break;
	default:
		print "<TD>";

    }

    $depth[$parser]++;
}

function endElement($parser, $name) {
    global $depth;
	switch ($name){
	case "LINKPAGE";
		print"<TR><TD Class=\"ListNote\" COLSPAN=3>";
		print"<B>Notes</B><BR>";
		print"?/10: Means that I didn't decided a vote for that site yet";
		print"</TD></TR>";
		print"</TABLE>\n";
		break;
	case "SECTION":
		print "</CENTER></TD></TR>";
		break;
	case "LINK":
		echo"</TD></TR>";
		break;
	default:
		echo"</TD></TR>\n";

	}
    $depth[$parser]--;
}

function characterData($parser, $data) {
    print "$data";
}

echo ".";
$xml_parser = xml_parser_create();
echo ".";
xml_set_element_handler($xml_parser, "startElement",
"endElement");
echo ".";
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",

xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);


 ?>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-01-03 07:41 UTC] sniper@php.net
This is fixed in CVS. Wait for PHP 4.0.4pl1 to be released.

--Jani
 
PHP Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Fri Jul 03 13:00:01 2026 UTC