php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #4237 Call to exit causes crash in Roxen-module
Submitted: 2000-04-25 12:56 UTC Modified: 2001-01-30 03:41 UTC
From: pete at byways dot org Assigned:
Status: Closed Package: Reproducible Crash
PHP Version: 4.0 Latest CVS (25/04/2000) OS: RedHat Linux 6.1 Intel
Private report: No CVE-ID: None
 [2000-04-25 12:56 UTC] pete at byways dot org
When running PHP 4.0 latest CVS compiled as a Roxen module under Roxen 2.0.46, using the "exit" statement in a PHP script causes the web server to return an empty page ("Document contains no data").

PHP is configured using:

./configure --with-roxen=/usr/local/roxen/server --enable-roxen-zts --with-gettext=no --with-pgsql --without-mysql --enable-track-vars=yes --with-zlib --with-jpeg-dir=/usr --with-tiff-dir=/usr --with-session=/tmp --enable-trans-sid --with-pdflib=/usr/local

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-04-28 16:40 UTC] pete at byways dot org
Here is a Pike backtrace of a request for a script that contains the exit statement, using the "Resolve Path" feature in Roxen Administration.  Execution seems to stop inside the PHPScript::run() method in php4.pike, at the line:

mid->my_fd->set_close_callback(done);


Roxen version: Roxen/2.0.46
Pike version: Pike v7.0 release 38
Requested URL: /standard/actions/index.html

Error: Indexing the NULL value.
RXML frame backtrace:
 | <if variable="form.action">
 | <contents>
 | <cset preparse="" quote="none" variable="var.__contents">
 | <colorscope bgcolor="#eeeeee">
 | <st-page>
 | <contents>
 | <nooutput>
 | <subtablist preparse="preparse" width="100%">
 | <contents>
 | <cv-split>
 | <contents>
 | <cset quote="none" variable="var.content">
 | <content>
 | <contents>
 | <nooutput>
 | <tmpl title="">
modules/scripting/php4.pike (version 2.5):168: run()
base_server/roxen.pike (version 1.480):491: unthreaded_handle(modules/scripting/php4.pike.PHPScript.run)
modules/scripting/php4.pike (version 2.5):253: handle_file_extension(module.File(),"php",RequestID())
base_server/configuration.pike (version 1.303):1445: low_get_file(RequestID(),0)
base_server/configuration.pike (version 1.303):1528: get_file(RequestID(),0,0)
config_interface/standard/actions/resolv.pike (version 1.9):171: resolv_handle_request(Configuration(Deffendol),RequestID())
config_interface/standard/actions/resolv.pike (version 1.9):291: parse(RequestID())
modules/scripting/pikescript.pike (version 1.59):128: call_script(config_interface/standard/actions/resolv.pike.parse,RequestID(),module.File())
modules/scripting/pikescript.pike (version 1.59):240: handle_file_extension(module.File(),"pike",RequestID())
base_server/configuration.pike (version 1.303):1445: low_get_file(RequestID(),0)
base_server/configuration.pike (version 1.303):1528: get_file(RequestID(),0,1)
base_server/configuration.pike (version 1.303):2104: try_get_file("/standard/actions/resolv.pike",RequestID(),0,0,0)
modules/tags/rxmltags.pike (version 1.113):632: tag_insert("insert",mapping[2],RequestID())
base_server/rxml.pike (version 1.187):277: call_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[2],modules/tags/rxmltags.pike.tag_insert)
etc/modules/RXML.pmod/PXml.pike: finish("\n      <input ty"+[82]+"\" nocache/>\n    ")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n      <input ty"+[82]+"\" nocache/>\n    ")
etc/modules/RXML.pmod/module.pmod (version 1.87):1862: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[1],"\n      <input ty"+[82]+"\" nocache/>\n    ")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[1],"\n      <input ty"+[82]+"\" nocache/>\n    ")
etc/modules/RXML.pmod/PXml.pike: finish("<blockquote><br "+[488]+"\n  </blockquote>")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("<blockquote><br "+[488]+"\n  </blockquote>")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"<blockquote><br "+[488]+"\n  </blockquote>"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/PXml.pike: finish("<contents/>")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("<contents/>")
etc/modules/RXML.pmod/module.pmod (version 1.87):1862: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[3],"<contents/>")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[3],"<contents/>")
etc/modules/RXML.pmod/PXml.pike: finish("\n    <cset prepa"+[51]+"ents/></cset>\n  ")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n    <cset prepa"+[51]+"ents/></cset>\n  ")
etc/modules/RXML.pmod/module.pmod (version 1.87):1862: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[1],"\n    <cset prepa"+[51]+"ents/></cset>\n  ")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[1],"\n    <cset prepa"+[51]+"ents/></cset>\n  ")
etc/modules/RXML.pmod/PXml.pike: finish("\n  <colorscope b"+[107]+"  </colorscope>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n  <colorscope b"+[107]+"  </colorscope>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"\n  <colorscope b"+[107]+"  </colorscope>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"<blockquote><br "+[488]+"\n  </blockquote>")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"<blockquote><br "+[488]+"\n  </blockquote>")
etc/modules/RXML.pmod/PXml.pike: finish("\n  <st-tabs><ins"+[570]+"uote></st-page>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n  <st-tabs><ins"+[570]+"uote></st-page>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"\n  <st-tabs><ins"+[570]+"uote></st-page>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/PXml.pike: finish("\n  <contents/>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n  <contents/>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1862: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n  <contents/>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n  <contents/>\n")
etc/modules/RXML.pmod/PXml.pike: finish("\n<nooutput>\n  <c"+[355]+"/tr>\n  </table>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n<nooutput>\n  <c"+[355]+"/tr>\n  </table>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"\n<nooutput>\n  <c"+[355]+"/tr>\n  </table>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[2],"\n  <st-tabs><ins"+[570]+"uote></st-page>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[2],"\n  <st-tabs><ins"+[570]+"uote></st-page>\n")
etc/modules/RXML.pmod/PXml.pike: finish("\n<subtablist wid"+[619]+">\n</subtablist>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n<subtablist wid"+[619]+">\n</subtablist>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"\n<subtablist wid"+[619]+">\n</subtablist>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/PXml.pike: finish("\n <table ::=\"&us"+[369]+"/tr>\n  </table>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n <table ::=\"&us"+[369]+"/tr>\n  </table>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"\n <table ::=\"&us"+[369]+"/tr>\n  </table>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n<subtablist wid"+[619]+">\n</subtablist>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n<subtablist wid"+[619]+">\n</subtablist>\n")
etc/modules/RXML.pmod/PXml.pike: finish("\n<cv-split>\n<sub"+[642]+"st>\n</cv-split>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n<cv-split>\n<sub"+[642]+"st>\n</cv-split>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"\n<cv-split>\n<sub"+[642]+"st>\n</cv-split>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/PXml.pike: finish("<contents/>")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("<contents/>")
etc/modules/RXML.pmod/module.pmod (version 1.87):1862: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[2],"<contents/>")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),mapping[2],"<contents/>")
etc/modules/RXML.pmod/PXml.pike: finish("<cset quote=\"non"+[28]+"ontents/></cset>")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("<cset quote=\"non"+[28]+"ontents/></cset>")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"<cset quote=\"non"+[28]+"ontents/></cset>"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n<cv-split>\n<sub"+[642]+"st>\n</cv-split>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n<cv-split>\n<sub"+[642]+"st>\n</cv-split>\n")
etc/modules/RXML.pmod/PXml.pike: finish("<left-menu title"+[743]+"lit>\n</content>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("<left-menu title"+[743]+"lit>\n</content>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),({"<left-menu title"+[743]+"lit>\n</content>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),0)
etc/modules/RXML.pmod/PXml.pike: finish("\n  <insert file="+[449]+">\n  <contents/>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n  <insert file="+[449]+">\n  <contents/>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1862: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n  <insert file="+[449]+">\n  <contents/>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("user_tag_contents+rxml_tag_set,Administration Interface",16)),([]),"\n  <insert file="+[449]+">\n  <contents/>\n")
etc/modules/RXML.pmod/PXml.pike: finish("\n<html><head>\n<t"+[2566]+"</body>\n</html>\n")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("\n<html><head>\n<t"+[2566]+"</body>\n</html>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):1547: _exec_array(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("rxml_tag_set,Administration Interface",2)),({"\n<html><head>\n<t"+[2566]+"</body>\n</html>\n"}),0)
etc/modules/RXML.pmod/module.pmod (version 1.87):1976: _eval(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("rxml_tag_set,Administration Interface",2)),mapping[1],"<left-menu title"+[743]+"lit>\n</content>\n")
etc/modules/RXML.pmod/module.pmod (version 1.87):217: _handle_tag(RXML.PXml(RXML.Context,RXML.t_html,RXML.TagSet("rxml_tag_set,Administration Interface",2)),mapping[1],"<left-menu title"+[743]+"lit>\n</content>\n")
etc/modules/RXML.pmod/PXml.pike: finish("<use file='/stan"+[798]+"content>\n</tmpl>")
etc/modules/RXML.pmod/PXml.pike (version 1.45):265: finish("<use file='/stan"+[798]+"content>\n</tmpl>")
etc/modules/RXML.pmod/module.pmod (version 1.87):2268: write_end("<use file='/stan"+[798]+"content>\n</tmpl>")
base_server/rxml.pike (version 1.187):389: do_parse("<use file='/stan"+[798]+"content>\n</tmpl>",RequestID(),0,mapping[14])
base_server/rxml.pike (version 1.187):434: parse_rxml("<use file='/stan"+[798]+"content>\n</tmpl>",RequestID(),0,mapping[14])
base_server/http.pike (version 1.40):114: http_rxml_answer("<use file='/stan"+[798]+"content>\n</tmpl>",RequestID(),0,0)
modules/configuration/config_filesystem.pike (version 1.34):208: find_file("standard/actions/index.html",RequestID())
base_server/configuration.pike (version 1.303):1338: low_get_file(RequestID(),0)
base_server/configuration.pike (version 1.303):1528: get_file(RequestID(),0,0)
base_server/configuration.pike (version 1.303):1507: handle_request(RequestID())
protocols/http.pike (version 1.228):1840: handle_request()
base_server/roxen.pike (version 1.480):491: unthreaded_handle(protocols/http.pike.handle_request)
protocols/http.pike (version 1.228):1968: got_data(0,"POST /standard/a"+[579]+"Ok+.x=0&+Ok+.y=0")
/usr/local/pike/7.0.38/lib/modules/Stdio.pmod/module.pmod (version 1.79):308: __stdio_read_callback()

Request data:
POST /standard/actions/index.html HTTP/1.1
Accept: */*
Referer: http://207.224.221.131:19193/standard/actions/?action=resolv.pike&class=maintenance
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)
Host: 207.224.221.131:19193
Content-Length: 168
Connection: Keep-Alive
Authorization: ################ (censored)

magic_roxen_automatic_charset_variable=%C3%A5%C3%A4%C3%B6&class=maintenance&action=resolv.pike&path=http%3A%2F%2F*%3A80%2Ftestexit.php&user=&password=&+Ok+.x=0&+Ok+.y=0

 [2000-08-31 11:36 UTC] sniper@php.net
Have you tried using more recent version of php4?
Like php4.0.2 ?

--Jani
 [2000-08-31 23:51 UTC] pete at byways dot org
Still a problem using PHP 4.0.2 compiled as a Roxen module with Roxen 2.0.74 and Pike 7.0.80.
 [2000-12-18 11:23 UTC] sniper@php.net
Does this happen with latest snapshot from http://snaps.php.net/ ??

--Jani
 [2001-01-30 03:41 UTC] sniper@php.net
No feedback, considered fixed.

--Jani
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 22:01:29 2024 UTC