[PATCH] include_once/require_once core dump

php.internals

Brian J. France

23 years ago
Can somebody with karma check in the following patch? If zend_open fails for require_once or include_oncde, file_handle is not defined and can't be used for the error/warning message. Changed to inc_filename->value.str.val which is what is passed to zend_open. Thanks, Brian

Jani Taskinen

23 years ago
Any example code? --Jani On Mon, 19 May 2003, Brian J. France wrote:
>Can somebody with karma check in the following patch? > >If zend_open fails for require_once or include_oncde, file_handle is >not defined and can't be used for the error/warning message. >Changed to inc_filename->value.str.val which is what is passed to zend_open. > >Thanks, > >Brian > >
-- <- For Sale! ->

Brian J. France

23 years ago
<?PHP include_once( "foo.php" ); ?> Since foo.php doesn't exists, zend_open will fail and then try to send a warning message using file_handle.filename. Since zend_open failed file_handle.filename will still be in its initial state of "file_handle = {0}". zend_message_dispatcher is called with file_handle.filename, which calls php_message_handler_for_zend, which calls php_strip_url_passwd, which core dumps because *file_handle.filename is a bad address. Brian On Tue, 20 May 2003 03:46:14 +0300 (EEST), Jani Taskinen wrote:

Sterling Hughes

23 years ago
Your test script works fine for me. -Sterling On Mon, 2003-05-19 at 20:55, Brian J. France wrote:
> <?PHP > include_once( "foo.php" ); > ?> > > Since foo.php doesn't exists, zend_open will fail and then try to send a > warning message using file_handle.filename. Since zend_open failed > file_handle.filename will still be in its initial state of "file_handle = > {0}". zend_message_dispatcher is called with file_handle.filename, which > calls php_message_handler_for_zend, which calls php_strip_url_passwd, which > core dumps because *file_handle.filename is a bad address. > > Brian > > On Tue, 20 May 2003 03:46:14 +0300 (EEST), Jani Taskinen wrote: > > > > Any example code? > > > > --Jani > > > > > > On Mon, 19 May 2003, Brian J. France wrote: > > > >> Can somebody with karma check in the following patch? > >> > >> If zend_open fails for require_once or include_oncde, file_handle is > >> not defined and can't be used for the error/warning message. > >> Changed to inc_filename->value.str.val which is what is passed to zend_open. > >> > >> Thanks, > >> > >> Brian > >> > >> > > > > -- > > <- For Sale! -> > > > >
-- "The computer programmer is a creator of universes for which he alone is responsible. Universes of virtually unlimited complexity can be created in the form of computer programs." - Joseph Weizenbaum

Brian J. France

23 years ago
Did you get a warning that foo.php couldn't be included? If not try to include_once a file that doesn't exists. The patch is for PHP_4_3 and not cvs head. Brian On 19 May 2003 19:32:59 -0400, Sterling Hughes wrote:

Sterling Hughes

23 years ago
On Mon, 2003-05-19 at 21:04, Brian J. France wrote:
> Did you get a warning that foo.php couldn't be included? If not try to > include_once a file that doesn't exists. The patch is for PHP_4_3 and not cvs > head. >
Ok, I just tried with CVS head. -Sterling
-- "Whether you think you can or think you can't -- you are right." - Henry Ford