php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #32929 php crashing on array element assignment
Submitted: 2005-05-03 19:51 UTC Modified: 2005-05-04 09:56 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (100.0%)
From: majoros at inma dot ucl dot ac dot be Assigned:
Status: Closed Package: Reproducible crash
PHP Version: 4.3.11 OS: fc3
Private report: No CVE-ID: None
 [2005-05-03 19:51 UTC] majoros at inma dot ucl dot ac dot be
Description:
------------
PHP is crashing on some page (segfault), at least on two servers. It crashes when I try to create a new array element (see code), not always, but always in the same conditions.

Same with 4.3.10, 4.3.11 and latest cvs. 

configure:

'./configure' '--with-apxs2' '--with-iconv' 

Reproduce code:
---------------
 while ($res=$result->fetchRow(DB_FETCHMODE_ASSOC))
 {
  // TODO: make iconv optional
  foreach ($res as $key=>$val)
   $res[$key]=iconv("ISO-8859-1","UTF-8",$val);
////// CRASHING ON FOLLOWING LINE AFTER 5 ITERATIONS (DATA DEPENDANT)
  $wikireq[$id][]=$res;
 }

Expected result:
----------------
should not crash!

Actual result:
--------------
crash boom, this line in apache error.log:

[Tue May 03 19:33:21 2005] [notice] child pid 10313 exit signal Segmentation fault (11)

Patches

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-05-03 22:50 UTC] iliaa@php.net
What is the value of $val variable.
 [2005-05-04 00:11 UTC] majoros at inma dot ucl dot ac dot be
$val is some value extracted from a database. The foreach loop goes through every column of the data extracted from the current row ($res). 

Here are the values contained in $res when the crash occurs (on 5th iteration in 'while'):
"mvanhXXX","Marie-Anne Van HXXX",1,1,1,1,0 

I had to replace some name with XXX for privacy, but it doesn't contain any special character. BTW, the same happens if i just leave the iconv. If I replace the "bad" line with this:

$wikireq[$id][]=''; 

The crash doesn't occur (but I don't get my data).
 [2005-05-04 00:28 UTC] majoros at inma dot ucl dot ac dot be
You can even forget about the foreach loop, and thus var: same problem if I remove them...
 [2005-05-04 09:55 UTC] majoros at inma dot ucl dot ac dot be
Ok, it seems that the bug was somewhere else, in the portal I use (tikiwiki).

 It's true that it didn't crash if I put a return just before the assignment, and that it did otherwise, but the crash was really somewhere else, due to "infinite" recursion (limited to 64 by php). I corrected the bug in tikiwiki.

 Thanks to all people who checked this, and sorry for the inconvenience.

 Regards,

 Yannick Majoros
 [2005-05-04 09:56 UTC] majoros at inma dot ucl dot ac dot be
closing...
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Aug 14 21:01:27 2024 UTC