Skip to content

Commit 2e97ae9

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Fix mb_ord() crash if internal encoding not supported
2 parents b2c8abe + acc616c commit 2e97ae9

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

ext/mbstring/mbstring.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4440,7 +4440,7 @@ static inline zend_long php_mb_ord(const char *str, size_t str_len, zend_string
44404440

44414441
no_enc = enc->no_encoding;
44424442
if (php_mb_is_unsupported_no_encoding(no_enc)) {
4443-
php_error_docref(NULL, E_WARNING, "Unsupported encoding \"%s\"", ZSTR_VAL(enc_name));
4443+
php_error_docref(NULL, E_WARNING, "Unsupported encoding \"%s\"", enc->name);
44444444
return -1;
44454445
}
44464446

ext/mbstring/tests/mb_ord.phpt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ var_dump(
1919
mb_ord("\u{d800}", "utf-7"),
2020
mb_ord("")
2121
);
22+
23+
mb_internal_encoding("utf-7");
24+
mb_ord("");
2225
?>
2326
--EXPECTF--
2427
bool(true)
@@ -29,11 +32,11 @@ Warning: mb_ord(): Unknown encoding "typo" %s 10
2932

3033
Warning: mb_ord(): Unsupported encoding "pass" %s 11
3134

32-
Warning: mb_ord(): Unsupported encoding "jis" %s 12
35+
Warning: mb_ord(): Unsupported encoding "JIS" in %s on line %d
3336

34-
Warning: mb_ord(): Unsupported encoding "cp50222" %s 13
37+
Warning: mb_ord(): Unsupported encoding "CP50222" in %s on line %d
3538

36-
Warning: mb_ord(): Unsupported encoding "utf-7" %s 14
39+
Warning: mb_ord(): Unsupported encoding "UTF-7" in %s on line %d
3740

3841
Warning: mb_ord(): Empty string in %s on line %d
3942
bool(false)
@@ -42,3 +45,5 @@ bool(false)
4245
bool(false)
4346
bool(false)
4447
bool(false)
48+
49+
Warning: mb_ord(): Unsupported encoding "UTF-7" in %s on line %d

0 commit comments

Comments
 (0)