char trypath[MAXPATHLEN + 1];
struct stat sb;
FILE *fp;
+ int filename_length;
PLS_FETCH();
if (opened_path) {
}
return php_fopen_and_set_opened_path(filename, mode, opened_path);
}
+
+ filename_length = strlen(filename);
/* Absolute path open - prepend document_root in safe mode */
-#ifdef PHP_WIN32
- if (IS_SLASH(*filename) || (filename[1] == ':')) {
-#else
- if (IS_SLASH(*filename)) {
-#endif
+ if (IS_ABSOLUTE_PATH(filename, filename_length)) {
if (PG(safe_mode) && PG(doc_root)) {
snprintf(trypath, MAXPATHLEN, "%s%s", PG(doc_root), filename);
if (!php_checkuid(trypath, mode, 0)) {