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
Nikita Popov
11f0e1d1cb
Move encoding fetching out of php_mb_convert_encoding()
2020-03-31 21:47:55 +02:00
Nikita Popov
857fe616fa
Remove unnecesary check in php_mb_check_encoding()
...
The caller makes sure that this is not NULL.
2020-03-31 21:02:00 +02:00
George Peter Banyard
daf45f68d2
Use explicit helper
2020-03-31 20:27:10 +02:00
George Peter Banyard
affc5a024a
Encoding argument is always MBREX(current_mbctype)
2020-03-31 20:27:10 +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
8a2ce27bba
mb_detect_order(): Use proper array|string argument
2020-03-30 16:26:28 +02:00
Nikita Popov
500230fc85
Remove persistent arg from parse_encoding_array()
...
It is always zero.
2020-03-30 16:17:35 +02:00
Nikita Popov
b02b3539e7
mb_check_encoding(): Make var a proper array|string arg
2020-03-30 16:15:12 +02:00
Nikita Popov
50d07ff28c
mb_detect_encoding(): Use proper array|string parameter
...
Needed to add support for nullabiltiy in some places.
2020-03-30 16:15:12 +02:00
Nikita Popov
bb6523693c
mb_convert_variables(): Make $from an array|string argument
2020-03-30 15:51:04 +02:00
Nikita Popov
0d24422749
mb_convert_encoding(): Make $input a proper array|string arg
2020-03-30 15:41:55 +02:00
Nikita Popov
f24f6cbab9
mb_convert_encoding(): Make $from_encodings a proper array|string arg
...
Switching to FastZPP, as we don't support this in normal zpp.
2020-03-30 15:39:33 +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
Nikita Popov
ed850f2723
Move encoding fetching outside php_mb_stripos()
2020-03-30 12:29:11 +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
Nikita Popov
0fdffc1807
Update Unicode tables to 13.0.0
2020-03-12 11:29:51 +01:00
Máté Kocsis
960318ed95
Change argument error message format
...
Closes GH-5211
2020-02-26 15:00:08 +01:00
George Peter Banyard
c7094d8926
Fix mbstring regex variable types to correspond to Oniguruma
...
The beginning and ending of a Oniguruma Regex are stored in a OnigRegion (which is a typedef to the Oniguruma re_registers struct) as as int* therefore change the type from size_t to int
Closes GH-5196
2020-02-26 11:24:03 +01:00
George Peter Banyard
363d87f256
Fix [-Wmissing-field-initializers] compiler warning in mbstring
...
Add missing NULL pointer for mbfl_convert_vtbl struct.
2020-02-21 13:19:09 +01:00
Máté Kocsis
ac0853eb26
Make type error messages more consistent
...
Closes GH-5092
2020-02-17 14:22:17 +01:00
Christoph M. Becker
7d0102dfa7
Revert "Replace @param annotations with type declarations"
...
This reverts commit c31029f335 .
2020-02-17 08:55:18 +01:00
Christoph M. Becker
c31029f335
Replace @param annotations with type declarations
2020-02-16 23:43:38 +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
43465768f1
Fix shift ub in mbstring
...
Ideally "c" would be an unsigned integer...
2020-01-30 10:07:25 +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
22d2a80031
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Reset MBREX(search_re) in RSHUTDOWN
2020-01-29 16:05:47 +01:00
Nikita Popov
085371b299
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Reset MBREX(search_re) in RSHUTDOWN
2020-01-29 16:05:38 +01:00
Nikita Popov
560ff9725e
Reset MBREX(search_re) in RSHUTDOWN
...
This is going to cause a segfault if reused in the next request.
To illustrate the issue, run these two scripts in sequence with
the built-in server:
// script1.php
mb_ereg_search_init('foobar');
mb_ereg_search('foo');
// script2.php
var_dump(mb_ereg_search_init("foobar"));
var_dump(mb_ereg_search_pos());
2020-01-29 16:05:11 +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