diff options
author | Xinchen Hui <laruence@php.net> | 2015-02-15 22:56:56 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2015-02-15 22:56:56 +0800 |
commit | fc087ed1eebb2eaa4be88ab16803641908348e4c (patch) | |
tree | ccb7ddee74acdfb27a8f7c72e4e6051d55926c28 | |
parent | b046733243f86866268e87273c05cc28e4df9324 (diff) | |
parent | edd16831b13fcd4b1552328d55ed99647ab23c3a (diff) | |
download | php-git-fc087ed1eebb2eaa4be88ab16803641908348e4c.tar.gz |
Merge branch 'PHP-5.6'
Conflicts:
ext/readline/readline.c
-rw-r--r-- | ext/readline/readline.c | 5 | ||||
-rw-r--r-- | ext/readline/tests/bug69054.phpt | 11 |
2 files changed, 14 insertions, 2 deletions
diff --git a/ext/readline/readline.c b/ext/readline/readline.c index 3b72e9ee09..84b5bd3d66 100644 --- a/ext/readline/readline.c +++ b/ext/readline/readline.c @@ -402,12 +402,13 @@ PHP_FUNCTION(readline_read_history) return; } - if (php_check_open_basedir(arg)) { + if (arg && php_check_open_basedir(arg)) { RETURN_FALSE; } /* XXX from & to NYI */ if (read_history(arg)) { + /* If filename is NULL, then read from `~/.history' */ RETURN_FALSE; } else { RETURN_TRUE; @@ -426,7 +427,7 @@ PHP_FUNCTION(readline_write_history) return; } - if (php_check_open_basedir(arg)) { + if (arg && php_check_open_basedir(arg)) { RETURN_FALSE; } diff --git a/ext/readline/tests/bug69054.phpt b/ext/readline/tests/bug69054.phpt new file mode 100644 index 0000000000..f17f803ea4 --- /dev/null +++ b/ext/readline/tests/bug69054.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug #69054 (Null dereference in readline_(read|write)_history() without parameters) +--SKIPIF-- +<?php if (!extension_loaded("readline") || !function_exists('readline_add_history')) die("skip"); ?> +--INI-- +open_basedir=/tmp +--FILE-- +<?php readline_read_history(); ?> +==DONE== +--EXPECT-- +==DONE== |