Skip to content

Commit b948332

Browse files
committed
Merge branch 'PHP-8.4'
2 parents 53e5c09 + ec05cd5 commit b948332

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

ext/gd/gd.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1366,7 +1366,7 @@ static int _php_ctx_getmbi(gdIOCtx *ctx)
13661366

13671367
do {
13681368
i = (ctx->getC)(ctx);
1369-
if (i < 0) {
1369+
if (i < 0 || mbi > (INT_MAX >> 7)) {
13701370
return -1;
13711371
}
13721372
mbi = (mbi << 7) | (i & 0x7f);

ext/gd/tests/gh16771.phpt

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--TEST--
2+
GH-16771 (UBSan abort in ext/gd/libgd/gd.c:1372)
3+
--EXTENSIONS--
4+
gd
5+
--FILE--
6+
<?php
7+
$string_mb = base64_decode('5pel5pys6Kqe44OG44Kt44K544OIMzTvvJXvvJbml6XmnKzoqp7jg4bjgq3jgrnjg4g=');
8+
imagecreatefromstring($string_mb);
9+
--EXPECTF--
10+
Warning: imagecreatefromstring(): Data is not in a recognized format in %s on line %d

0 commit comments

Comments
 (0)