mirror of
https://github.com/php/php-src.git
synced 2024-09-22 10:27:25 +00:00
MFB: Fixed bug #38934 (move_uploaded_file() cannot read uploaded file
outside of open_basedir).
This commit is contained in:
parent
ba13b636e3
commit
f3eee9d980
@ -6024,8 +6024,7 @@ PHP_FUNCTION(move_uploaded_file)
|
||||
VCWD_UNLINK(Z_STRVAL_PP(new_path));
|
||||
if (rename(Z_STRVAL_PP(path), Z_STRVAL_PP(new_path)) == 0) {
|
||||
successful = 1;
|
||||
} else
|
||||
if (php_copy_file(Z_STRVAL_PP(path), Z_STRVAL_PP(new_path) TSRMLS_CC) == SUCCESS) {
|
||||
} else if (php_copy_file_ex(Z_STRVAL_PP(path), Z_STRVAL_PP(new_path), STREAM_DISABLE_OPEN_BASEDIR TSRMLS_CC) == SUCCESS) {
|
||||
VCWD_UNLINK(Z_STRVAL_PP(path));
|
||||
successful = 1;
|
||||
}
|
||||
|
@ -1799,9 +1799,14 @@ PHP_FUNCTION(copy)
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
PHPAPI int php_copy_file(char *src, char *dest TSRMLS_DC)
|
||||
{
|
||||
return php_copy_file_ex(src, dest, 0 TSRMLS_CC);
|
||||
}
|
||||
|
||||
/* {{{ php_copy_file
|
||||
*/
|
||||
PHPAPI int php_copy_file(char *src, char *dest TSRMLS_DC)
|
||||
PHPAPI int php_copy_file_ex(char *src, char *dest, int src_chk TSRMLS_DC)
|
||||
{
|
||||
php_stream *srcstream = NULL, *deststream = NULL;
|
||||
int ret = FAILURE;
|
||||
@ -1856,7 +1861,7 @@ no_stat:
|
||||
}
|
||||
safe_to_copy:
|
||||
|
||||
srcstream = php_stream_open_wrapper(src, "rb", REPORT_ERRORS, NULL);
|
||||
srcstream = php_stream_open_wrapper(src, "rb", src_chk | REPORT_ERRORS, NULL);
|
||||
|
||||
if (!srcstream) {
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user