diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2017-02-03 17:55:08 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2017-02-03 17:55:08 +0100 |
commit | 5537a4e2b8b426336e600d833de2ba61bc7b44ef (patch) | |
tree | 964969a7454b4c326384428d80a9d291140f964a | |
parent | a0828247259f161302639846d7f03872fb2597e5 (diff) | |
parent | 8660e95b4c7a7a84278104bce4ad8270c1ac3464 (diff) | |
download | php-git-5537a4e2b8b426336e600d833de2ba61bc7b44ef.tar.gz |
Merge branch 'PHP-7.1'
-rw-r--r-- | ext/standard/string.c | 4 | ||||
-rw-r--r-- | ext/standard/tests/strings/bug74041.phpt | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c index 851775503e..3addfbd19d 100644 --- a/ext/standard/string.c +++ b/ext/standard/string.c @@ -5276,10 +5276,10 @@ PHP_FUNCTION(substr_count) if (ac == 4) { - if (length <= 0) { + if (length < 0) { length += (haystack_len - offset); } - if ((length <= 0) || ((size_t)length > (haystack_len - offset))) { + if (length < 0 || ((size_t)length > (haystack_len - offset))) { php_error_docref(NULL, E_WARNING, "Invalid length value"); RETURN_FALSE; } diff --git a/ext/standard/tests/strings/bug74041.phpt b/ext/standard/tests/strings/bug74041.phpt new file mode 100644 index 0000000000..598e46d880 --- /dev/null +++ b/ext/standard/tests/strings/bug74041.phpt @@ -0,0 +1,12 @@ +--TEST-- +Bug #74041: substr_count with length=0 broken +--FILE-- +<?php + +var_dump(substr_count("aaa", "a", 0, 0)); +var_dump(substr_count("", "a", 0, 0)); + +?> +--EXPECT-- +int(0) +int(0) |