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
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
Nikita Popov
bc32cce6a2
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix recovery of large entities in mb_decode_numericentity()
2020-01-29 11:49:27 +01:00
Nikita Popov
91f878779c
Fix recovery of large entities in mb_decode_numericentity()
...
Make sure we don't overflow the integer.
2020-01-29 11:48:34 +01:00
Nikita Popov
38d205a5b1
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix memory leak in mb_str_split
2020-01-28 17:40:07 +01:00
Nikita Popov
9fcaf25c93
Fix memory leak in mb_str_split
2020-01-28 17:39:49 +01:00
Nikita Popov
7db3a51884
Only fetch to_encoding once in mb_convert_encoding()
...
Instead of doing it on every conversion. This is both more efficient
and avoids generating multiple warnings.
2020-01-28 15:12:24 +01:00
George Peter Banyard
ba82e18755
Allow empty needle in mb_strrchr()
2020-01-25 12:22:01 +01:00
George Peter Banyard
986da2a436
Convert warnings to ValueError in mb_strpos function family.
...
Closes GH-5109
2020-01-24 23:59:22 +01:00
Nikita Popov
c2d0a413cc
Also use zend_memnrstr in mbfl_strpos
2020-01-24 11:42:54 +01:00
Nikita Popov
d504ad5717
Base mbfl_strpos on zend_memnstr
...
The same algorithm is also used by zend_memnstr, but it also has
a fast-path for short strings / needles, where a more naive
search performs better.
2020-01-24 11:29:34 +01:00
Nikita Popov
73b31302ed
Extract calculation of offset from pointer
2020-01-24 11:15:58 +01:00
Nikita Popov
9e0e8d5650
Handle mb_str(r)ipos offset consistently as well
2020-01-24 10:54:20 +01:00
Nikita Popov
ce6169832f
Move offset error checking into mbfl_strpos
...
This avoids calculating the full length only in order to validate
the offset, as mbfl_strpos needs to find the offset internally
anyway.
2020-01-24 10:50:02 +01:00
Nikita Popov
0f6d223ddb
Add #defines for mbfl_strpos error conditions
2020-01-24 10:02:41 +01:00
Christoph M. Becker
f1bf4bf6eb
Don't leak encoding_str
2020-01-22 11:15:16 +01:00
Christoph M. Becker
da9c206781
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79154 : mb_convert_encoding() can modify $from_encoding
2020-01-22 10:32:06 +01:00
Christoph M. Becker
ab846173e2
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #79154 : mb_convert_encoding() can modify $from_encoding
2020-01-22 10:30:25 +01:00
Christoph M. Becker
9be31a582a
Fix #79154 : mb_convert_encoding() can modify $from_encoding
...
We must not modify arrays passed by value.
2020-01-22 10:28:07 +01:00
Christoph M. Becker
4327b113a0
Fix test expectation
...
As of PHP 8.0.0, array to string conversion raises a warning.
2020-01-22 10:21:55 +01:00
Christoph M. Becker
8f4d07bff0
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #79149 : SEGV in mb_convert_encoding with non-string encodings
2020-01-22 09:45:37 +01:00
Christoph M. Becker
94c9dc498f
Fix #79149 : SEGV in mb_convert_encoding with non-string encodings
...
We must not assume that `hash_entry` `IS_STRING`, but rather use
`encoding_str` which is guaranteed to be.
2020-01-22 09:43:51 +01:00
Stanislav Malyshev
545f77d313
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Update NEWS
Fix bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`)
Fix #79099 : OOB read in php_strip_tags_ex
Fix #79091 : heap use-after-free in session_create_id()
2020-01-20 22:47:28 -08:00
Stanislav Malyshev
a29c793381
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Update NEWS
Fix bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`)
Fix #79099 : OOB read in php_strip_tags_ex
Fix #79091 : heap use-after-free in session_create_id()
2020-01-20 22:47:01 -08:00
Stanislav Malyshev
25ec7eb346
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Update NEWS
Fix bug #79037 (global buffer-overflow in `mbfl_filt_conv_big5_wchar`)
Fix #79099 : OOB read in php_strip_tags_ex
Fix #79091 : heap use-after-free in session_create_id()
2020-01-20 22:46:29 -08:00
Stanislav Malyshev
2bcbc95f03
Fix bug #79037 (global buffer-overflow in mbfl_filt_conv_big5_wchar
)
2020-01-20 21:43:42 -08:00
Máté Kocsis
99db00b1f2
Fix #78880 Another round
2020-01-19 18:28:43 +01:00
Máté Kocsis
d1764ca330
Make error messages more consistent by fixing capitalization
...
Closes GH-5066 As a first step, let's capitalize their initial letter when it is applicable.
2020-01-17 14:52:46 +01:00
Máté Kocsis
afdaa91170
Fix #78880 : Final spelling fixes
2020-01-16 19:14:31 +01:00
George Peter Banyard
483efc7e50
Allow empty needles in mb_strpos and mb_strstr function family.
...
MBstring analogous implementation to 6d578482a9
Closes GH-4977
2020-01-07 22:53:35 +01:00
Máté Kocsis
aadd3aaed9
Use RETURN_THROWS() in various places
2020-01-03 21:10:24 +01:00
Máté Kocsis
7b4a4d2ace
Use RETURN_THROWS() after try_convert_to_string()
2020-01-03 17:04:06 +01:00