Re: svn: /php/php-src/ branches/PHP_5_4/sapi/cli/php_cli_server.c trunk/sapi/cli/php_cli_server.c

From: Date: Wed, 21 Sep 2011 06:28:58 +0000
Subject: Re: svn: /php/php-src/ branches/PHP_5_4/sapi/cli/php_cli_server.c trunk/sapi/cli/php_cli_server.c
References: 1 2  Groups: php.cvs 
Request: Send a blank email to php-cvs+get-66605@lists.php.net to get a copy of this message
VCWD_GETCWD is sufficient. On Wed, Sep 21, 2011 at 1:49 AM, Moriyoshi Koizumi <mozo@mozo.jp> wrote: > Hi, > > Where does HAVE_BROKEN_GETCWD come from? Isn't simply using VCWD_GETCWD sufficient? > > Moriyoshi > > On 2011/09/20, at 16:06, Xinchen Hui wrote: > >> laruence                                 Tue, 20 Sep 2011 07:06:55 +0000 >> >> Revision: >> http://svn.php.net/viewvc?view=revision&revision=317040 >> >> Log: >> Fix Bug #55726 (Changing the working directory makes router script inaccessible) >> >> Bug: https://bugs.php.net/55726 (Assigned) Changing the >> working directory makes router script inaccessible >> >> Changed paths: >>    U   php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c >>    U   php/php-src/trunk/sapi/cli/php_cli_server.c >> >> Modified: php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c >> =================================================================== >> --- php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c    2011-09-20 05:42:36 UTC >> (rev 317039) >> +++ php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c    2011-09-20 07:06:55 UTC >> (rev 317040) >> @@ -1877,11 +1877,24 @@ >>       } >>       { >>               zend_file_handle zfd; >> +#if HAVE_BROKEN_GETCWD >> +             int old_cwd_fd = -1; >> +             old_cwd_fd = open(".", 0); >> +#else >> +             char *old_cwd; >> +             ALLOCA_FLAG(use_heap) >> +#define OLD_CWD_SIZE 4096 >> +             old_cwd = do_alloca(OLD_CWD_SIZE, use_heap); >> +             old_cwd[0] = '\0'; >> +             php_ignore_value(VCWD_GETCWD(old_cwd, OLD_CWD_SIZE-1)); >> +#endif >> + >>               zfd.type = ZEND_HANDLE_FILENAME; >>               zfd.filename = server->router; >>               zfd.handle.fp = NULL; >>               zfd.free_filename = 0; >>               zfd.opened_path = NULL; >> + >>               zend_try { >>                       zval *retval = NULL; >>                       if (SUCCESS == zend_execute_scripts(ZEND_REQUIRE >> TSRMLS_CC, &retval, 1, &zfd)) { >> @@ -1893,6 +1906,18 @@ >>                               decline = 1; >>                       } >>               } zend_end_try(); >> + >> +#if HAVE_BROKEN_GETCWD >> +             if (old_cwd_fd != -1) { >> +                     fchdir(old_cwd_fd); >> +                     close(old_cwd_fd); >> +             } >> +#else >> +             if (old_cwd[0] != '\0') { >> +                     php_ignore_value(VCWD_CHDIR(old_cwd)); >> +             } >> +             free_alloca(old_cwd, use_heap); >> +#endif >>       } >> >>       if (decline) { >> >> Modified: php/php-src/trunk/sapi/cli/php_cli_server.c >> =================================================================== >> --- php/php-src/trunk/sapi/cli/php_cli_server.c       2011-09-20 05:42:36 UTC (rev >> 317039) >> +++ php/php-src/trunk/sapi/cli/php_cli_server.c       2011-09-20 07:06:55 UTC (rev >> 317040) >> @@ -1877,11 +1877,24 @@ >>       } >>       { >>               zend_file_handle zfd; >> +#if HAVE_BROKEN_GETCWD >> +             int old_cwd_fd = -1; >> +             old_cwd_fd = open(".", 0); >> +#else >> +             char *old_cwd; >> +             ALLOCA_FLAG(use_heap) >> +#define OLD_CWD_SIZE 4096 >> +             old_cwd = do_alloca(OLD_CWD_SIZE, use_heap); >> +             old_cwd[0] = '\0'; >> +             php_ignore_value(VCWD_GETCWD(old_cwd, OLD_CWD_SIZE-1)); >> +#endif >> + >>               zfd.type = ZEND_HANDLE_FILENAME; >>               zfd.filename = server->router; >>               zfd.handle.fp = NULL; >>               zfd.free_filename = 0; >>               zfd.opened_path = NULL; >> + >>               zend_try { >>                       zval *retval = NULL; >>                       if (SUCCESS == zend_execute_scripts(ZEND_REQUIRE >> TSRMLS_CC, &retval, 1, &zfd)) { >> @@ -1893,6 +1906,18 @@ >>                               decline = 1; >>                       } >>               } zend_end_try(); >> + >> +#if HAVE_BROKEN_GETCWD >> +             if (old_cwd_fd != -1) { >> +                     fchdir(old_cwd_fd); >> +                     close(old_cwd_fd); >> +             } >> +#else >> +             if (old_cwd[0] != '\0') { >> +                     php_ignore_value(VCWD_CHDIR(old_cwd)); >> +             } >> +             free_alloca(old_cwd, use_heap); >> +#endif >>       } >> >>       if (decline) { >> >> -- >> PHP CVS Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php > > -- > Moriyoshi Koizumi > mozo@mozo.jp > > > > > -- > PHP CVS Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Pierre @pierrejoye | http://blog.thepimp.net | http://www.libgd.org

« previous php.cvs (#66605) next »