From: andrei at vinchi dot ru Operating system: Red Hat 7.2, SlackWare 9.0 PHP version: 4.3.5 PHP Bug Type: *XML functions Bug description: Segmentation fault when xml_parse() used
Description: ------------ xml_parse() function is using in script that parse xml data containing some " " strings. At this string it report an error, but after script is die and Apache process crash with notice in error_log: "[notice] child pid 27456 exit signal Segmentation Fault (11)". Config line: ./configure --prefix=/opt/php --with-apache=/usr/src/apache_1.3.27rusPL30.16 --with-zlib --with-bz2 --enable-bcmath --enable-calendar --with-readline --enable-exif --enable-wddx --enable-dba --with-gdbm --with-dbase --with-system-regex --with-mod_charset --with-pgsql=/usr/local/PostgreSQL --with-mysql=/usr/local/MySQL --enable-safe-mode --enable-track-vars --enable-memory-limit --disable-short-tags --disable-display-source --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --with-xpm-dir --with-debug gdb: Program received signal SIGSEGV, Segmentation fault. normal_updatePosition (enc=0x815edc0, ptr=0x821ca78 "ONTENT-DATA-175 CONTENT-DATA-176 CONTENT-DATA-177 CONTENT-DATA-178 CONTENT-DATA-179 CONTENT-DATA-180 CONTENT-DATA-181 CONTENT-DATA-182 CONTENT-DATA-183 CONTENT-DATA-184 CONTENT-DATA-185 CONTENT-DATA-1"..., end=0x821ada0 " DESCRIPTION-1 DESCRIPTION-2 DESCRIPTION-3 DESCRIPTION-4 DESCRIPTION-5 DESCRIPTION-6 DESCRIPTION-7 DESCRIPTION-8 DESCRIPTION-9 DESCRIPTION-10 DES"..., pos=0x82144f0) at /andrei/php/build/php-4.3.5/ext/xml/expat/xmltok_impl.c:1747 1747 switch (BYTE_TYPE(enc, ptr)) { (gdb) Reproduce code: --------------- 1. http://na.vinchi.ru/mkfaultdata.php.txt This script must be used for creating "bad.dat" file. It contain xml data for parsing by second script that produce crash. 2. http://na.vinchi.ru/xml-crash.php.txt Expected result: ---------------- The script must output 50 lines like this: "Indexing: news_view.php?id=1". Last number changed from 1 to 50. Actual result: -------------- Indexing: news_view.php?id=1 ... cuted ... Indexing: news_view.php?id=19 XML parse error on 121 in 298 After that script and process dies. -- Edit bug report at http://bugs.php.net/?id=27811&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=27811&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=27811&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=27811&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=27811&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=27811&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=27811&r=needscript Try newer version: http://bugs.php.net/fix.php?id=27811&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=27811&r=support Expected behavior: http://bugs.php.net/fix.php?id=27811&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=27811&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=27811&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=27811&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=27811&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=27811&r=dst IIS Stability: http://bugs.php.net/fix.php?id=27811&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=27811&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=27811&r=float