{
FILE *fp;
+ if (php_check_open_basedir((char *)path)) {
+ return NULL;
+ }
fp = V_FOPEN(path, mode);
if (fp && opened_path) {
*opened_path = expand_filepath(path,NULL);
if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!php_checkuid(path, mode, 0))) {
return NULL;
}
- if (php_check_open_basedir(path)) {
- return NULL;
- }
return php_fopen_and_set_opened_path(path, mode, opened_path);
}
}
char *pathbuf, *ptr, *end;
char trypath[MAXPATHLEN + 1];
struct stat sb;
+ FILE *fp;
PLS_FETCH();
if (opened_path) {
if (PG(safe_mode) && (!php_checkuid(filename, mode, 0))) {
return NULL;
}
- if (php_check_open_basedir(filename)) return NULL;
-
return php_fopen_and_set_opened_path(filename, mode, opened_path);
}
/* Absolute path open - prepend document_root in safe mode */
if (!php_checkuid(trypath, mode, 0)) {
return NULL;
}
- if (php_check_open_basedir(trypath)) return NULL;
return php_fopen_and_set_opened_path(filename, mode, opened_path);
} else {
- if (php_check_open_basedir(filename)) {
- return NULL;
- }
return php_fopen_and_set_opened_path(filename, mode, opened_path);
}
}
if (PG(safe_mode) && (!php_checkuid(filename, mode, 0))) {
return NULL;
}
- if (php_check_open_basedir(filename)) {
- return NULL;
- }
return php_fopen_and_set_opened_path(filename, mode, opened_path);
}
pathbuf = estrdup(path);
return NULL;
}
}
- if (!php_check_open_basedir(trypath)) {
+ fp = php_fopen_and_set_opened_path(trypath, mode, opened_path);
+ if (fp) {
efree(pathbuf);
- return php_fopen_and_set_opened_path(trypath, mode, opened_path);
+ return fp;
}
ptr = end;
}
if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!php_checkuid(path, mode, 0))) {
fp = NULL;
} else {
- if (php_check_open_basedir((char *) path)) {
- fp = NULL;
- } else {
- fp = php_fopen_and_set_opened_path(path, mode, opened_path);
- }
+ fp = php_fopen_and_set_opened_path(path, mode, opened_path);
}
}
return (fp);