summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Weinand <bobwei9@hotmail.com>2015-08-03 20:49:41 +0200
committerBob Weinand <bobwei9@hotmail.com>2015-08-03 20:49:41 +0200
commitb20953118ba41cd9465ccc84e79b6eef3f539573 (patch)
tree477307ebca815d5412fc11ff021bf1d48e0e48d4
parentb5e16cebda52b25f651b97c9b9da830ee7e46138 (diff)
downloadphp-git-b20953118ba41cd9465ccc84e79b6eef3f539573.tar.gz
Fix last invalid read
Also revert debugging run-tests.php changes...
-rwxr-xr-xrun-tests.php4
-rw-r--r--sapi/phpdbg/phpdbg_list.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/run-tests.php b/run-tests.php
index ae39fe4c71..ba44ce5464 100755
--- a/run-tests.php
+++ b/run-tests.php
@@ -1878,7 +1878,7 @@ TEST $file
if (version_compare($valgrind_version, '3.3.0', '>=')) {
/* valgrind 3.3.0+ doesn't have --log-file-exactly option */
- $cmd = "valgrind -q --tool=memcheck --trace-children=yes --show-leak-kinds=definite,indirect --log-file=$memcheck_filename $cmd";
+ $cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file=$memcheck_filename $cmd";
} else {
$cmd = "valgrind -q --tool=memcheck --trace-children=yes --log-file-exactly=$memcheck_filename $cmd";
}
@@ -1933,7 +1933,7 @@ COMMAND $cmd
$passed = false;
if ($leak_check) { // leak check
- $leaked = filesize($memcheck_filename) > 367;
+ $leaked = filesize($memcheck_filename) > 0;
if (!$leaked) {
@unlink($memcheck_filename);
diff --git a/sapi/phpdbg/phpdbg_list.c b/sapi/phpdbg/phpdbg_list.c
index 89e352a971..8369018fc9 100644
--- a/sapi/phpdbg/phpdbg_list.c
+++ b/sapi/phpdbg/phpdbg_list.c
@@ -244,11 +244,11 @@ zend_op_array *phpdbg_compile_file(zend_file_handle *file, int type) {
return NULL;
}
- data.buf = emalloc(data.len + 1);
+ data.buf = emalloc(data.len + ZEND_MMAP_AHEAD + 1);
if (data.len > 0) {
memcpy(data.buf, bufptr, data.len);
}
- data.buf[data.len] = 0;
+ memset(data.buf + data.len, 0, ZEND_MMAP_AHEAD + 1);
data.filename = filename;
data.line[0] = 0;