Hi:
   okey,

   in this case , I will remove it .


thanks

2011/9/21 Pierre Joye <pierre....@gmail.com>:
> VCWD_GETCWD is sufficient.
>
> On Wed, Sep 21, 2011 at 1:49 AM, Moriyoshi Koizumi <m...@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
>> m...@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
>



-- 
Laruence  Xinchen Hui
http://www.laruence.com/

Reply via email to