From: Nuno Lopes Date: Sat, 16 Sep 2006 17:41:57 +0000 (+0000) Subject: fix possible crash in posix_access() X-Git-Tag: php-5.2.0RC5~150 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bfc9cd7174155368c11e94f45c6e32e0e7ddb677;p=php fix possible crash in posix_access() --- diff --git a/ext/posix/posix.c b/ext/posix/posix.c index 418f1f1a6b..4d1d0be371 100644 --- a/ext/posix/posix.c +++ b/ext/posix/posix.c @@ -771,6 +771,10 @@ PHP_FUNCTION(posix_access) } path = expand_filepath(filename, NULL TSRMLS_CC); + if (!path) { + POSIX_G(last_error) = EIO; + RETURN_FALSE; + } if (php_check_open_basedir_ex(path, 0 TSRMLS_CC) || (PG(safe_mode) && (!php_checkuid_ex(filename, NULL, CHECKUID_CHECK_FILE_AND_DIR, CHECKUID_NO_ERRORS)))) { diff --git a/ext/posix/tests/001.phpt b/ext/posix/tests/001.phpt new file mode 100644 index 0000000000..e6c629ce63 --- /dev/null +++ b/ext/posix/tests/001.phpt @@ -0,0 +1,12 @@ +--TEST-- +posix_access() with bogus paths +--SKIPIF-- + +--FILE-- + +--EXPECT-- +bool(false)