Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:50228 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 71789 invoked from network); 16 Nov 2010 05:25:00 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Nov 2010 05:25:00 -0000 Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 209.85.160.42 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.160.42 mail-pw0-f42.google.com Received: from [209.85.160.42] ([209.85.160.42:46172] helo=mail-pw0-f42.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 96/DB-25603-BA512EC4 for ; Tue, 16 Nov 2010 00:25:00 -0500 Received: by pwj5 with SMTP id 5so52313pwj.29 for ; Mon, 15 Nov 2010 21:24:56 -0800 (PST) Received: by 10.142.170.10 with SMTP id s10mr5722873wfe.340.1289885096822; Mon, 15 Nov 2010 21:24:56 -0800 (PST) Received: from Anonymous.local (c-98-234-184-167.hsd1.ca.comcast.net [98.234.184.167]) by mx.google.com with ESMTPS id y42sm898341wfd.10.2010.11.15.21.24.54 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 15 Nov 2010 21:24:55 -0800 (PST) Message-ID: <4CE215A3.30606@lerdorf.com> Date: Mon, 15 Nov 2010 21:24:51 -0800 User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.12) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: Andi Gutmans CC: Stas Malyshev , internals References: <4CE03E41.9030805@lerdorf.com> <8757232E56758B42B2EE4F9D2CA019C9086B69@US-EX2.zend.net> <4CE10E8E.3070901@lerdorf.com> <4CE206C0.5070701@sugarcrm.com> <8757232E56758B42B2EE4F9D2CA019C908A06A@US-EX2.zend.net> In-Reply-To: <8757232E56758B42B2EE4F9D2CA019C908A06A@US-EX2.zend.net> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Adding path_len to all stream functions in trunk From: rasmus@lerdorf.com (Rasmus Lerdorf) On 11/15/10 9:16 PM, Andi Gutmans wrote: >> -----Original Message----- >> From: Stas Malyshev [mailto:smalyshev@sugarcrm.com] >> Sent: Monday, November 15, 2010 8:21 PM >> To: Rasmus Lerdorf >> Cc: internals >> Subject: Re: [PHP-DEV] Adding path_len to all stream functions in trunk >> >> Hi! >> >>> Ok, I went through all the 5.3 code. This should fix the null >>> poisoning problems in 5.3 without breaking binary compatibility: >>> >>> http://progphp.com/nullpatch.txt >> >> Looking at this patch, I wonder if it wouldn't be cleaner to add new type (string >> without nulls) in parameter parsing and have it handled by parameter parsing >> in one place instead of doing it in dozens of different places? There might be >> some other places not covered but it would cover most functions - and it's >> easier to catch/fix those in extensions. > > That's a nice idea and it also wouldn't break binary compatibility. Well, it changes the signature of that function, so while we don't break backward binary compatibility, we break forward compatibility within the 5.3 branch. As in, if I change my extension to use this new NoNull string flag, it will no longer work on <5.3.3 whereas if I do the if(strlen(filename) != filename_len) check, this will still work in all 5.3 releases. -R