Bug #1910: eval causes core dump with math functions that retun NaN
| From: | ccunning at math dot ohio-state dot edu | Date: | Wed, 28 Jul 1999 19:21:23 +0000 |
| Subject: | Bug #1910: eval causes core dump with math functions that retun NaN | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-9285@lists.php.net to get a copy of this message | ||
From: ccunning@math.ohio-state.edu
Operating system: Solaris 2.6
PHP version: 4.0b1
PHP Bug Type: Reproduceable crash
Bug description: eval causes core dump with math functions that retun NaN
Doing something like eval("\$one = log(-1)"); on Solaris causes a core dump. Doing the
log(-1) outside of eval returns NaN. Any function that can return NaN or Infinity with the right
argument seems to do this when executed inside an eval. Doing the eval on RedHat 6 with php4 works
fine, and PHP3 on Solaris handles it fine. Here is the dbx output as well as some stuff that showed
up in the error log.
(dbx) run test.php
Running: php test.php
(process id 365)
Skipping en_US.so.1, already read
Content-Type: text/html
signal SEGV (no mapping at the fault address) in strlen at 0xef5a4614
0xef5a4614: strlen+0x0080: ld [%o1], %o2
-------------------------------------------------------
error_log
[Wed Jul 28 12:13:22 1999] [notice] child pid 26333 exit signal Segmentation Fault (11)
Script: '/opt/web/htdocs/func.php'
---------------------------------------
math.c(641) : Block 0x0012AC28 status:
Beginning: Overrun (magic=0x8277DCEF, expected=0x7312F8DC)
End: Unknown
---------------------------------------
Script: '/opt/web/htdocs/func.php'
---------------------------------------
zend_variables.c(62) : Block 0x0012AF90 status:
Beginning: Overrun (magic=0x12F8DCEF, expected=0x7312F8DC)
End: Unknown
---------------------------------------
Script: '/opt/web/htdocs/func.php'
---------------------------------------
zend_hash.c(772) : Block 0x0012A230 status:
Beginning: Overrun (magic=0x8FCC8400, expected=0x7312F8DC)
Beginning: Overrun (magic=0x8FCC8400, expected=0x7312F8DC)
End: Unknown
---------------------------------------