/php-src/ext/standard/tests/file/bug41655_2.phpt was broken because
"pattern" was truncated by php_dirname().

Dmitry.

> -----Original Message-----
> From: Pierre [mailto:[EMAIL PROTECTED] 
> Sent: Monday, June 25, 2007 12:52 PM
> To: Dmitry Stogov
> Cc: php-cvs@lists.php.net
> Subject: Re: [PHP-CVS] cvs: php-src /ext/standard dir.c 
> /ext/standard/tests/file bug41655_1.phpt
> 
> 
> Hi Dmitry,
> 
> On 6/25/07, Dmitry Stogov <[EMAIL PROTECTED]> wrote:
> > dmitry          Mon Jun 25 08:40:37 2007 UTC
> >
> >   Modified files:
> >     /php-src/ext/standard       dir.c
> >     /php-src/ext/standard/tests/file    bug41655_1.phpt
> >   Log:
> >   Better fix for bug #41655
> >
> >
> > 
> http://cvs.php.net/viewvc.cgi/php-src/ext/standard/dir.c?r1=1.163&r2=1
> > .164&diff_format=u
> > Index: php-src/ext/standard/dir.c
> > diff -u php-src/ext/standard/dir.c:1.163 
> php-src/ext/standard/dir.c:1.164
> > --- php-src/ext/standard/dir.c:1.163    Tue Jun 12 13:42:04 2007
> > +++ php-src/ext/standard/dir.c  Mon Jun 25 08:40:36 2007
> > @@ -16,7 +16,7 @@
> >     
> +-------------------------------------------------------------
> ---------+
> >   */
> >
> > -/* $Id: dir.c,v 1.163 2007/06/12 13:42:04 scottmac Exp $ */
> > +/* $Id: dir.c,v 1.164 2007/06/25 08:40:36 dmitry Exp $ */
> >
> >  /* {{{ includes/startup/misc */
> >
> > @@ -423,16 +423,15 @@
> >  #endif
> >
> >         if (PG(open_basedir) && *PG(open_basedir)) {
> > -               size_t base_len = php_dirname(pattern, 
> strlen(pattern));
> > -               char pos = pattern[base_len];
> > -
> > -               pattern[base_len] = '\0';
> > -
> > +               int pattern_len = strlen(pattern);
> > +               char *basename = estrndup(pattern, pattern_len);
> > +
> > +               php_dirname(basename, pattern_len);
> 
> Why is it a better fix? In these versions (head and 5.2), we 
> don't need to duplicate the pattern. I applied in 4.4 as 
> dirname modifies the pattern.
> 
> Cheers,
> --Pierre
> 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to