php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #11590 Segmentation fault when using an empty string as an array
Submitted: 2001-06-20 16:46 UTC Modified: 2001-06-21 04:16 UTC
From: phpbugs at ans-netz dot de Assigned:
Status: Closed Package: Reproducible crash
PHP Version: 4.0.5 OS: Linux 2.4.3 i686
Private report: No CVE-ID: None
 [2001-06-20 16:46 UTC] phpbugs at ans-netz dot de
A Function in a class:

function mParseStatisticData ($ids,$result="" ) {

  // some stuff inside;

  $result_[$pos]["threadid"]    = $result[$pos]["threadid"];M
  $result_[$pos]["readcount"]   = $result[$pos]["readcount"];M

}

I call these function with:

$result_ = $this->mParseStatisticData($a);

And the apache processes stops with a segmentation fault:
[Wed Jun 20 17:46:20 2001] [notice] child pid 28697 exit
signal Segmentation fault (11)

How to fix it:


    function mParseStatisticData ($ids,$result=array() ) {


Ok, it's wrong to use a string as an array... my fault..
but.. why my apache (1.3.20) crashes with a segfault? ;-)

Greetings Olli

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-06-20 16:54 UTC] sniper@php.net
Please include a complete but short script into this report
which demonstrates this problem.
 
 [2001-06-20 17:13 UTC] phpbugs at ans-netz dot de
Script:

<?php   

class test {

    function call() {
        for($i=0;$i<50;$i++) {
            $result[$i]["threadid"] = "lala";
            $result[$i]["threadid"] = "lala2";
        }                                     
         
        $a = array("1","2");
        return $this->parse($a);
    }

    function parse($string,$result="") {
        for($i=0;$i<50;$i++) {
            $result_[$i]["threadid"]    =
$result[$i]["threadid"];
            $result_[$i]["readcount"]   =
$result[$i]["readcount"];
        }
        return $result_;
    }

}
        
class test2 {

    function output() {
        echo "hi";
        $test = new test;
        return $test->call();
    }                        
}

$test2 = new test2;
print_r($test2->output());   
?>   

And Apache crashes with a Segfault:

Wed Jun 20 23:12:17 2001] [notice] child pid 28682 exit
signal Segmentation fault (11)
[Wed Jun 20 23:12:47 2001] [notice] child pid 28692 exit
signal Segmentation fault (11)


Greetings Olli

 [2001-06-20 17:20 UTC] phpbugs at ans-netz dot de
When i try this Script under FreeBSD 4.3-STABLE with PHP
4.0.5, and Apache 1.3.20 it run's without errors, or
segfaults...
 [2001-06-20 17:41 UTC] phpbugs at ans-netz dot de
- Linux 2.4.4 i686 / PHP 4.0.7-dev (21.05.01) / Apache
2.0.19-dev (21.05.01)  --  crashes too

- Linux 2.2.16-22 i686 / PHP 4.0.3pl1 / Apache 1.3.14  -- works
 [2001-06-20 22:54 UTC] rasmus@php.net
Crashes with current cvs for me too - needs to be fixed
 [2001-06-21 04:16 UTC] zeev@php.net
Should be fixed in the latest CVS (and probably merged into 4.0.6).

Thanks for the report!
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Mar 29 12:01:27 2024 UTC