From bfc9cd7174155368c11e94f45c6e32e0e7ddb677 Mon Sep 17 00:00:00 2001 From: Nuno Lopes Date: Sat, 16 Sep 2006 17:41:57 +0000 Subject: [PATCH] fix possible crash in posix_access() --- ext/posix/posix.c | 4 ++++ ext/posix/tests/001.phpt | 12 ++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 ext/posix/tests/001.phpt 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) -- 2.50.1