com php-src: Fix bug #62922: NEWS ext/standard/string.c ext/standard/tests/streams/bug62922.phpt ext/standard/tests/strings/substr.phpt
| From: | Nikita Popov | Date: | Sat, 20 Jun 2015 12:39:55 +0000 |
| Subject: | com php-src: Fix bug #62922: NEWS ext/standard/string.c ext/standard/tests/streams/bug62922.phpt ext/standard/tests/strings/substr.phpt | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-87403@lists.php.net to get a copy of this message | ||
Commit: 257054e81d4dad73bf9d09cd206d3a6727ad1777
Author: Nikita Popov <nikic@php.net> Sat, 20 Jun 2015 14:38:03 +0200
Parents: c7f4c5a2feecd165a1fe06b7ff99308921d60a71
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=257054e81d4dad73bf9d09cd206d3a6727ad1777
Log:
Fix bug #62922
Off by one error...
Bugs:
https://bugs.php.net/62922
Changed paths:
M NEWS
M ext/standard/string.c
A ext/standard/tests/streams/bug62922.phpt
M ext/standard/tests/strings/substr.phpt
Diff:
diff --git a/NEWS b/NEWS
index 778a9c0..c25ce52 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 f08ff65..186f687 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 0000000..d67343e
--- /dev/null
+++ b/ext/standard/tests/streams/bug62922.phpt
@@ -0,0 +1,12 @@
+--TEST--
+Bug #62922: Truncating entire string should result in string
+--FILE--
+<?php
+var_dump(substr("", 0));
+var_dump(substr("a", 1));
+var_dump(substr("ab", 2));
+?>
+--EXPECT--
+string(0) ""
+string(0) ""
+string(0) ""
diff --git a/ext/standard/tests/strings/substr.phpt b/ext/standard/tests/strings/substr.phpt
index 5a8db16..f0fc064 100644
Binary files a/ext/standard/tests/strings/substr.phpt and b/ext/standard/tests/strings/substr.phpt
differ