diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2020-10-01 16:41:51 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2020-10-01 16:41:51 +0200 |
commit | f82414e935c18c1ff45ef1f006e24220631f5717 (patch) | |
tree | 894b319756f97e9cb1fc650e16bc5226eb80a3df /ext/intl/tests | |
parent | 7af24eaedd310911940643d7a5f412393b973389 (diff) | |
download | php-git-f82414e935c18c1ff45ef1f006e24220631f5717.tar.gz |
Fix out of bounds offset handling with empty needle
For strrpos with positive out of bounds offsets was not detected.
Diffstat (limited to 'ext/intl/tests')
-rw-r--r-- | ext/intl/tests/grapheme_out_of_bounds.phpt | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/ext/intl/tests/grapheme_out_of_bounds.phpt b/ext/intl/tests/grapheme_out_of_bounds.phpt index e563096d7e..831ab87408 100644 --- a/ext/intl/tests/grapheme_out_of_bounds.phpt +++ b/ext/intl/tests/grapheme_out_of_bounds.phpt @@ -118,6 +118,49 @@ try { } echo "\n"; +// Empty needle + out of bounds +try { + var_dump(grapheme_strpos("äöü", "", 4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_stripos("äöü", "", 4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_strrpos("äöü", "", 4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_strripos("äöü", "", 4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_strpos("äöü", "", -4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_stripos("äöü", "", -4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_strrpos("äöü", "", -4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +try { + var_dump(grapheme_strripos("äöü", "", -4)); +} catch (ValueError $e) { + echo $e->getMessage(), "\n"; +} +echo "\n"; + var_dump(grapheme_substr("foo", 3)); var_dump(grapheme_substr("foo", -3)); var_dump(grapheme_substr("foo", 4)); @@ -181,6 +224,15 @@ grapheme_stripos(): Argument #3 ($offset) must be contained in argument #1 ($hay grapheme_strrpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) grapheme_strripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_strpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_strrpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_strripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_strpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_stripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_strrpos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) +grapheme_strripos(): Argument #3 ($offset) must be contained in argument #1 ($haystack) + string(0) "" string(3) "foo" string(0) "" |