Máté Kocsis
6111d64cda
Improve a last couple of argument error messages
...
Closes GH-5404
2020-04-20 13:09:00 +02:00
Máté Kocsis
1f48feebb9
Improve some TypeError and ValueError messages
...
Closes GH-5377
2020-04-14 14:38:45 +02:00
George Peter Banyard
1e8459d626
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Revert "Went to fast and forgot to update tests"
Revert "Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails"
2020-04-07 22:49:17 +02:00
George Peter Banyard
9b98cf3209
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Revert "Went to fast and forgot to update tests"
Revert "Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails"
2020-04-07 22:27:00 +02:00
George Peter Banyard
a0df5f3b54
Revert "Went to fast and forgot to update tests"
...
This reverts commit 656eac74fa .
2020-04-07 22:24:40 +02:00
George Peter Banyard
6031b08240
Revert "Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails"
...
This commit brings some substantial changes in behaviour due to the weird implementation.
This will be fixed in master due to BC concerns.
This reverts commit 1333b46d6d .
2020-04-07 22:23:24 +02:00
George Peter Banyard
1b6f61e7c4
Promote invalid case mode to ValueError in mb_case_converter
...
Add assertions to check the return value is not NULL as this indicates a bug.
Add identical assertion to mb_strtoupper and mb_strtolower.
This means these functions can't return false anymore, ammend stubs accordingly.
2020-04-05 03:33:08 +02:00
George Peter Banyard
07062e1fc5
Promote some warnings to ValueError in mbstring
...
Promoted warnings are:
* Empty encoding lists
* Unknown language
* Start and Width out of bound
2020-04-05 01:44:38 +02:00
George Peter Banyard
fc5a88f614
Merge branch 'PHP-7.4'
2020-04-03 22:23:03 +02:00
George Peter Banyard
c31b2bbd46
Merge branch 'PHP-7.3' into PHP-7.4
2020-04-03 22:10:56 +02:00
George Peter Banyard
656eac74fa
Went to fast and forgot to update tests
...
However due to the really lax conversion to integer all strings pass as 0
2020-04-03 22:03:00 +02:00
George Peter Banyard
9cb9c53f1f
Merge branch 'PHP-7.4'
2020-04-03 21:30:35 +02:00
George Peter Banyard
7a42611870
Merge branch 'PHP-7.3' into PHP-7.4
2020-04-03 21:28:07 +02:00
George Peter Banyard
1333b46d6d
Fix Bug #79448 0 is a valid Unicode codepoint, but mb_substitute_character(0) fails
2020-04-03 21:18:45 +02:00
George Peter Banyard
fa3b8c75fb
Promote unknown encoding throws in encoding array/string list
...
For the string list we emit still emit a warning by comparing arg_num to 0
Closes GH-5337
2020-04-03 10:58:46 +02:00
George Peter Banyard
656046873c
Refactor mb_substr_count()
...
Promote empty needle warning to ValueError
Convert if branch into an assertion as if mbfl_substr_count fails this now implies a bug
Thus mb_substr_count() can only return int now, fix stubs accordingly
2020-04-02 22:40:00 +02:00
George Peter Banyard
d44ee9112f
Promote mb_str_split warning to ValueError
...
Also add a TODO about documenting this funcion on PHP.net
Convert some checks to assertions as if they don't hold something went wrong during memory allocation
Due to these changes this function cannot return false anymore, fix stubs accordingly
2020-04-02 22:40:00 +02:00
George Peter Banyard
4cd3d7b166
Promote empty string warning to ValueError in mb_ord()
2020-04-02 22:39:59 +02:00
George Peter Banyard
a54ee6e591
Merge branch 'PHP-7.4'
2020-04-01 04:55:35 +02:00
George Peter Banyard
cc0052678a
Merge branch 'PHP-7.3' into PHP-7.4
2020-04-01 04:34:09 +02:00
George Peter Banyard
18dc9044f5
Fix bug 79441
2020-04-01 04:29:20 +02:00
George Peter Banyard
229dff9f08
Promote unsupported encoding warnings to ValueError
2020-04-01 00:54:36 +02:00
George Peter Banyard
21227dc1f1
Use php_mb_get_encoding instead of mbfl_name2encoding to get encoding
...
This reduces the number of places where the error message template is used.
Also promote the mb_check_encoding() warning to ValueError and add a test to cover the behaviour.
2020-03-31 23:39:39 +02:00
George Peter Banyard
90eeca2531
Convert some unknown encoding warnings to ValueErrors in ext/mbstring
...
Promotes only the warnings where the encoding comes only from a string.
Functions which accept an array of encodings will be fixed at a later stage.
Closes GH-5317
2020-03-31 16:34:18 +02:00
Nikita Popov
3ca08ee764
Make sure mbstring.internal_encoding deprecation is always thrown
...
It was not thrown if the setting was specified via -d at least.
2020-03-31 10:47:23 +02:00
Nikita Popov
7cea789cfc
Parse mb_convert_encoding() encodings only once
...
Instead of re-parsing them for every converted value. Also reuse
the generic parse_array() helper.
2020-03-30 14:54:15 +02:00
Nikita Popov
cd5a29b820
Properly report unknown encoding in encoding lists
...
And clean up the related array and list parsing code.
2020-03-30 14:46:59 +02:00
Christoph M. Becker
9e77d5a9da
Fix #76999 : mb_regex_set_options() return current options
...
When setting new options, `mb_regex_set_options()` is supposed to
return the *previous* options.
2020-03-27 10:34:16 +01:00
Christoph M. Becker
ebdaeb8572
Fix #79371 : mb_strtolower (UTF-32LE): stack-buffer-overflow
...
We make sure that negative values are properly compared.
2020-03-16 22:42:15 -07:00
Christoph M. Becker
db848e1482
Fix #79371 : mb_strtolower (UTF-32LE): stack-buffer-overflow
...
We make sure that negative values are properly compared.
2020-03-16 22:40:48 -07:00
Christoph M. Becker
1fdffd1c55
Fix #79371 : mb_strtolower (UTF-32LE): stack-buffer-overflow
...
We make sure that negative values are properly compared.
2020-03-16 22:40:00 -07:00
Máté Kocsis
960318ed95
Change argument error message format
...
Closes GH-5211
2020-02-26 15:00:08 +01:00
Máté Kocsis
ac0853eb26
Make type error messages more consistent
...
Closes GH-5092
2020-02-17 14:22:17 +01:00
Nikita Popov
ae6f45ad45
var_dump(): Don't skip recursion detection on first level
...
This is confusing. The current output doesn't make it clear that
we're in fact recursing to the top-level structure.
Closes GH-5171.
2020-02-12 11:25:50 +01:00
Nikita Popov
f8d795820e
Reindent phpt files
2020-02-03 22:52:20 +01:00
Nikita Popov
7c34d73876
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Add SKIPIF to test requiring mbregex
2020-01-30 11:21:32 +01:00
Nikita Popov
a73f98eda9
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Add SKIPIF to test requiring mbregex
2020-01-30 11:21:26 +01:00
Nikita Popov
6ccd675776
Add SKIPIF to test requiring mbregex
2020-01-30 11:20:42 +01:00
Nikita Popov
7d170eb295
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix shift ub in mbstring
Restore digit check in mb_decode_numericentity()
2020-01-30 10:08:21 +01:00
Nikita Popov
9aadcb18e1
Restore digit check in mb_decode_numericentity()
...
I replaced it with a multiplication overflow check in
18599f9c52 . However, we need both,
because the code for restoring the number can't handle numbers
with many leading zeros right now and I don't feel like teaching it.
2020-01-30 10:07:01 +01:00
Nikita Popov
2e97ae91c8
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix mb_ord() crash if internal encoding not supported
2020-01-29 16:19:21 +01:00
Nikita Popov
acc616c455
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix mb_ord() crash if internal encoding not supported
2020-01-29 16:19:14 +01:00
Nikita Popov
a62c06c4cf
Fix mb_ord() crash if internal encoding not supported
...
enc_name can be NULL here. Take the name from the mbfl_encoding
instead.
2020-01-29 16:18:46 +01:00
Nikita Popov
b2c8abe951
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Better overflow check for entity decoding
2020-01-29 16:08:55 +01:00
Nikita Popov
18599f9c52
Better overflow check for entity decoding
...
Check for multiplication overflow rather than number of digits.
2020-01-29 16:08:46 +01:00
Nikita Popov
42e22a2d91
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix use of mb_ereg_search_getregs() after invalid pattern
2020-01-29 12:50:47 +01:00
Nikita Popov
b3f07afabc
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix use of mb_ereg_search_getregs() after invalid pattern
2020-01-29 12:50:40 +01:00
Nikita Popov
392ad206a4
Fix use of mb_ereg_search_getregs() after invalid pattern
...
This segfaulted because we assumed that if there are matches,
there must be a regular expression as well.
2020-01-29 12:50:18 +01:00
Nikita Popov
083bbf5140
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix length inconsistency in mb_convert_encoding
2020-01-29 12:22:58 +01:00
Nikita Popov
5589bf4d4a
Fix length inconsistency in mb_convert_encoding
...
Don't mix strlen() and ZSTR_LEN(). If the encoding contains a
NULL byte, this will overflow the buffer.
NULL bytes will still make this behave oddly because the consuming
code will cut off the string there, but let's address that in master...
2020-01-29 12:19:28 +01:00