From 257054e81d4dad73bf9d09cd206d3a6727ad1777 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 20 Jun 2015 14:38:03 +0200 Subject: [PATCH] Fix bug #62922 Off by one error... --- NEWS | 6 +++++- ext/standard/string.c | 2 +- ext/standard/tests/streams/bug62922.phpt | 12 ++++++++++++ ext/standard/tests/strings/substr.phpt | Bin 4770 -> 4782 bytes 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 ext/standard/tests/streams/bug62922.phpt diff --git a/NEWS b/NEWS index 778a9c0fe9..c25ce52af2 100644 --- a/NEWS +++ b/NEWS @@ -30,7 +30,7 @@ PHP NEWS - mysqlnd: . Fixed Bug #69796 (mysqli_stmt::fetch doesn't assign null values to - bound variables). (Laruence); + bound variables). (Laruence) - Curl: . Fixed bug #69831 (Segmentation fault in curl_getinfo). (im dot denisenko at @@ -48,6 +48,10 @@ PHP NEWS - SPL . Fixed bug #69845 (ArrayObject with ARRAY_AS_PROPS broken). (Dmitry) +- Standard + . Fixed bug #62922 (Truncating entire string should result in string). + (Nikita) + 11 Jun 2015, PHP 7.0.0 Alpha 1 - Core: diff --git a/ext/standard/string.c b/ext/standard/string.c index f08ff65e39..186f68767b 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -2406,7 +2406,7 @@ PHP_FUNCTION(substr) } } - if (f >= (zend_long)str->len) { + if (f > (zend_long)str->len) { RETURN_FALSE; } diff --git a/ext/standard/tests/streams/bug62922.phpt b/ext/standard/tests/streams/bug62922.phpt new file mode 100644 index 0000000000..d67343eb58 --- /dev/null +++ b/ext/standard/tests/streams/bug62922.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #62922: Truncating entire string should result in string +--FILE-- + +--EXPECT-- +string(0) "" +string(0) "" +string(0) "" diff --git a/ext/standard/tests/strings/substr.phpt b/ext/standard/tests/strings/substr.phpt index 5a8db16a54ffa3f03e4de7087ef751e6e3ad2732..f0fc06424b5bef6d8c16d001925a89fc77f7e005 100644 GIT binary patch delta 108 zcmZ3ax=wY2Dfi?iK9R}q_&6u0@GDQ&