Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:15921 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42033 invoked by uid 1010); 8 Apr 2005 23:46:43 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 42002 invoked from network); 8 Apr 2005 23:46:43 -0000 Received: from unknown (HELO pb1.pair.com) (127.0.0.1) by localhost with SMTP; 8 Apr 2005 23:46:43 -0000 X-Host-Fingerprint: 80.74.107.235 mail.zend.com Linux 2.5 (sometimes 2.4) (4) Received: from ([80.74.107.235:36722] helo=mail.zend.com) by pb1.pair.com (ecelerity HEAD r(5268)) with SMTP id 87/BF-19272-AD717524 for ; Fri, 08 Apr 2005 19:46:38 -0400 Received: (qmail 27821 invoked from network); 8 Apr 2005 23:46:29 -0000 Received: from localhost (HELO ANDI-NOTEBOOK.zend.com) (127.0.0.1) by localhost with SMTP; 8 Apr 2005 23:46:29 -0000 Message-ID: <5.1.0.14.2.20050408164544.032dd550@localhost> X-Sender: andi@localhost X-Mailer: QUALCOMM Windows Eudora Version 5.1 Date: Fri, 08 Apr 2005 16:46:23 -0700 To: Uwe Schindler ,internals@lists.php.net Cc: kingwez@gmail.com In-Reply-To: <6.2.0.14.0.20050408165118.03859cd0@127.0.0.1> References: <6.2.0.14.0.20050407093245.0385c520@127.0.0.1> <6.2.0.14.0.20050407093245.0385c520@127.0.0.1> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Subject: Re: [PHP-DEV] [PATCH] fix crash in solaris when fdopen() fails From: andi@zend.com (Andi Gutmans) Not sure. Wez or Sara know that part of the code best. I'll refrain from applying to the Zend Engine then or should I apply that patch anyway? It seems quite harmless either way... Andi At 04:58 PM 4/8/2005 +0200, Uwe Schindler wrote: >OK - I found out that the fdopen() code is never called in the PHP >environment, so patch is not needed (PHP sets zend_file_handle always to >STREAM). But I still want to know for what extensions/functions the casts >from posix to stdio are needed- Will casting appear somewhere when the >user calls the userlevel-file-functions starting with fopen()?. It is hard >work to find out with simple search through CVS. >The only position I know is because of popen() etc. in the exec functions >which are stdio (posix variants are more complicated), which is the cause >for the bug report I mentioned. > >At 09:40 07.04.2005, Uwe Schindler wrote: >>I am fixing bug #32614: Problem, on the solaris platform fdopen() can >>fail even if fd is a correct file descriptor, when fd>255 (the well-known >>solaris stdio problem). The webserver of the user crashes because the >>return value of fdopen() is not checked for NULL when casting a stream >>from posix to stdio. After this fd==-1 and fp==NULL ==> further calls to >>fread/fwrite with this fp segfault. >>I committed the patches for PHP but I have no karme for "ZendEngine2". >>Can someone with karma submit this patch? >> >>According to this it would be interesting, WHEN some PHP/Zend code tries >>to cast a POSIX stream to stdio? In which extension/functions? Can this >>be fixed to only use posix IO? The zend engine itself should be safe >>since 4.3.3 and since PHP5. >> >>Does stream casts apply if a user uses the PHP user functions fopen, >>fread, fwrite? Since Saschas fix in PHP4 there this does not happen. What >>about PHP5? >> >>I would try to fix this everywhere in the future. >> >>----- >>Uwe Schindler >>thetaphi@php.net - http://www.php.net >>NSAPI SAPI developer >>Erlangen, Germany >> >> >> >>-- >>PHP Internals - PHP Runtime Development Mailing List >>To unsubscribe, visit: http://www.php.net/unsub.php > >----- >Uwe Schindler >thetaphi@php.net - http://www.php.net >NSAPI SAPI developer >Bremen, Germany > >-- >PHP Internals - PHP Runtime Development Mailing List >To unsubscribe, visit: http://www.php.net/unsub.php