From d947d974d598a35f08a6a9057ffc3dffac72c6c2 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Sun, 11 Sep 2016 12:36:58 +0200 Subject: [PATCH] Revert "Revert "Merge branch 'PHP-5.6' into PHP-7.0"" This reverts commit 62d5bfb5277dd84e1a185c567982f2196cd19437. --- ext/standard/file.c | 5 +++++ ext/standard/tests/file/bug71882.phpt | 11 +++++++++++ 2 files changed, 16 insertions(+) create mode 100644 ext/standard/tests/file/bug71882.phpt diff --git a/ext/standard/file.c b/ext/standard/file.c index 5c90b30559..e228ce6121 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1546,6 +1546,11 @@ PHP_NAMED_FUNCTION(php_if_ftruncate) RETURN_FALSE; } + if (size < 0) { + php_error_docref(NULL, E_WARNING, "Negative size is not supported"); + RETURN_FALSE; + } + PHP_STREAM_TO_ZVAL(stream, fp); if (!php_stream_truncate_supported(stream)) { diff --git a/ext/standard/tests/file/bug71882.phpt b/ext/standard/tests/file/bug71882.phpt new file mode 100644 index 0000000000..ae0137b599 --- /dev/null +++ b/ext/standard/tests/file/bug71882.phpt @@ -0,0 +1,11 @@ +--TEST-- +Bug #71882 (Negative ftruncate() on php://memory exhausts memory) +--FILE-- + +==DONE== +--EXPECTF-- +Warning: ftruncate(): Negative size is not supported in %s%ebug71882.php on line %d +==DONE== -- 2.50.1