|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #58355 Segfault when trying to iterate
Submitted: 2008-09-25 08:40 UTC Modified: 2011-01-09 09:06 UTC
From: Assigned:
Status: Closed Package: hidef (PECL)
PHP Version: 5_3 CVS-2008-09-25 (dev) OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
New email:
PHP Version: OS:


 [2008-09-25 08:40 UTC]
See below.

Reproduce code:

$x = new frozenarray;

foreach ($x as $z) { }

Actual result:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211869504 (LWP 13054)]
0x0811e990 in frozen_array_it_valid (iter=0x8899d7c, tsrm_ls=0x8757050) at /home/felipe/dev/php5zts/ext/hidef/frozenarray.c:325
warning: Source file is more recent than executable.
325             return zend_hash_has_more_elements_ex(Z_ARRVAL_P(obj->data), &(iterator->pos));
(gdb) bt
#0  0x0811e990 in frozen_array_it_valid (iter=0x8899d7c, tsrm_ls=0x8757050) at /home/felipe/dev/php5zts/ext/hidef/frozenarray.c:325
#1  0x0848350f in ZEND_FE_RESET_SPEC_CV_HANDLER (execute_data=0x88c8614, tsrm_ls=0x8757050) at /home/felipe/dev/php5zts/Zend/zend_vm_execute.h:22794
#2  0x0842f980 in execute (op_array=0x88994a0, tsrm_ls=0x8757050) at /home/felipe/dev/php5zts/Zend/zend_vm_execute.h:104
#3  0x08401071 in zend_execute_scripts (type=8, tsrm_ls=0x8757050, retval=0x0, file_count=3) at /home/felipe/dev/php5zts/Zend/zend.c:1197
#4  0x083784cc in php_execute_script (primary_file=0xbfbac338, tsrm_ls=0x8757050) at /home/felipe/dev/php5zts/main/main.c:2080
#5  0x084a0058 in main (argc=2, argv=0xbfbac4b4) at /home/felipe/dev/php5zts/sapi/cli/php_cli.c:1130


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2008-09-25 12:11 UTC] gopalv82 at yahoo dot com
I never intended anyone to be able to instantiate a frozenarray except via hidef_fetch().

Now, how do I disable the constructor?
 [2008-10-26 00:42 UTC]
I made a patch that forbids instantiations of FrozenArray by adding a private final constructor:

(the patch also does small changes to ZEND_ARG_INFOs to allow to build with 5.3).
 [2011-01-09 09:06 UTC]
Closing old bugs, the constructor has been disabled.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Jun 19 13:01:31 2024 UTC