Skip to content

Commit 805dafd

Browse files
committed
Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1: Enable GitHub actions cancel-in-progress for PRs mb_encode_mimeheader does not crash if provided encoding has no MIME name set
2 parents 5087931 + cfe1aab commit 805dafd

File tree

3 files changed

+27
-0
lines changed

3 files changed

+27
-0
lines changed

.github/workflows/push.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ on:
1818
pull_request:
1919
branches:
2020
- '**'
21+
concurrency:
22+
group: ${{ github.workflow }}-${{ github.event.pull_request.url || github.run_id }}
23+
cancel-in-progress: true
2124
env:
2225
CC: ccache gcc
2326
CXX: ccache g++

ext/mbstring/mbstring.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3012,6 +3012,9 @@ PHP_FUNCTION(mb_encode_mimeheader)
30123012
charset = php_mb_get_encoding(charset_name, 2);
30133013
if (!charset) {
30143014
RETURN_THROWS();
3015+
} else if (charset->mime_name == NULL || charset->mime_name[0] == '\0') {
3016+
zend_argument_value_error(2, "\"%s\" cannot be used for MIME header encoding", ZSTR_VAL(charset_name));
3017+
RETURN_THROWS();
30153018
}
30163019
} else {
30173020
const mbfl_language *lang = mbfl_no2language(MBSTRG(language));
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--TEST--
2+
Test mb_encode_mimeheader() function : text encoding with no MIME name
3+
--EXTENSIONS--
4+
mbstring
5+
--SKIPIF--
6+
<?php
7+
function_exists('mb_encode_mimeheader') or die("skip mb_encode_mimeheader() is not available in this build");
8+
?>
9+
--FILE--
10+
<?php
11+
try {
12+
var_dump(mb_encode_mimeheader("abc", "UTF7-IMAP", "Q"));
13+
} catch (\ValueError $e) {
14+
echo $e->getMessage() . \PHP_EOL;
15+
}
16+
17+
echo "Done\n";
18+
?>
19+
--EXPECT--
20+
mb_encode_mimeheader(): Argument #2 ($charset) "UTF7-IMAP" cannot be used for MIME header encoding
21+
Done

0 commit comments

Comments
 (0)