colder Thu Nov 6 01:07:22 2008 UTC
Modified files: (Branch: PHP_5_3)
/php-src/ext/spl spl_directory.c
Log:
MFH: Fix #46421 (Take care about /)
http://cvs.php.net/viewvc.cgi/php-src/ext/spl/spl_directory.c?r1=1.45.2.27.2.23.2.34&r2=1.45.2.27.2.23.2.35&diff_format=u
Index: php-src/ext/spl/spl_directory.c
diff -u php-src/ext/spl/spl_directory.c:1.45.2.27.2.23.2.34
php-src/ext/spl/spl_directory.c:1.45.2.27.2.23.2.35
--- php-src/ext/spl/spl_directory.c:1.45.2.27.2.23.2.34 Sun Nov 2 21:19:36 2008
+++ php-src/ext/spl/spl_directory.c Thu Nov 6 01:07:22 2008
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: spl_directory.c,v 1.45.2.27.2.23.2.34 2008/11/02 21:19:36 felipe Exp $
*/
+/* $Id: spl_directory.c,v 1.45.2.27.2.23.2.35 2008/11/06 01:07:22 colder Exp $
*/
#ifdef HAVE_CONFIG_H
# include "config.h"
@@ -221,7 +221,7 @@
intern->_path_len = strlen(path);
intern->u.dir.dirp = php_stream_opendir(path,
ENFORCE_SAFE_MODE|REPORT_ERRORS, NULL);
- if (intern->_path_len && IS_SLASH_AT(path, intern->_path_len-1)) {
+ if (intern->_path_len > 1 && IS_SLASH_AT(path, intern->_path_len-1)) {
intern->_path = estrndup(path, --intern->_path_len);
} else {
intern->_path = estrndup(path, intern->_path_len);
@@ -258,7 +258,7 @@
zend_list_addref(Z_RESVAL_P(intern->u.file.zcontext));
}
- if (intern->file_name_len && IS_SLASH_AT(intern->file_name,
intern->file_name_len-1)) {
+ if (intern->file_name_len > 1 && IS_SLASH_AT(intern->file_name,
intern->file_name_len-1)) {
intern->file_name_len--;
}
@@ -349,7 +349,7 @@
intern->file_name = use_copy ? estrndup(path, len) : path;
intern->file_name_len = len;
- while(IS_SLASH_AT(intern->file_name, intern->file_name_len-1)) {
+ while(IS_SLASH_AT(intern->file_name, intern->file_name_len-1) &&
intern->file_name_len > 1) {
intern->file_name[intern->file_name_len-1] = 0;
intern->file_name_len--;
}
@@ -1965,7 +1965,7 @@
if (spl_filesystem_file_open(intern, use_include_path, 0 TSRMLS_CC) ==
SUCCESS) {
tmp_path_len = strlen(intern->u.file.stream->orig_path);
- if (tmp_path_len &&
IS_SLASH_AT(intern->u.file.stream->orig_path, tmp_path_len-1)) {
+ if (tmp_path_len > 1 &&
IS_SLASH_AT(intern->u.file.stream->orig_path, tmp_path_len-1)) {
tmp_path_len--;
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php