From 6a78f00b5d90474cc48e43f37abdd944b41e4553 Mon Sep 17 00:00:00 2001 From: George Dietrich Date: Thu, 15 Jul 2021 21:03:04 -0400 Subject: [PATCH] Set ICO height/width to 256 if 0 --- ext/standard/image.c | 6 ++++ ext/standard/tests/image/32x256.ico | Bin 0 -> 10302 bytes .../tests/image/getimagesize_256_ico.phpt | 26 ++++++++++++++++++ 3 files changed, 32 insertions(+) create mode 100644 ext/standard/tests/image/32x256.ico create mode 100644 ext/standard/tests/image/getimagesize_256_ico.phpt diff --git a/ext/standard/image.c b/ext/standard/image.c index eeb48ea223173..e0371969aab04 100644 --- a/ext/standard/image.c +++ b/ext/standard/image.c @@ -1115,6 +1115,12 @@ static struct gfxinfo *php_handle_ico(php_stream * stream) } num_icons--; } + + if (0 == result->width) + result->width = 256; + + if (0 == result->height) + result->height = 256; return result; } diff --git a/ext/standard/tests/image/32x256.ico b/ext/standard/tests/image/32x256.ico new file mode 100644 index 0000000000000000000000000000000000000000..b9a0c7d00ece8388028985c226e4454e0aa506ec GIT binary patch literal 10302 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 +===DONE=== +--EXPECT-- +*** Testing getimagesize() : 256px ico *** +array(6) { + [0]=> + int(32) + [1]=> + int(256) + [2]=> + int(17) + [3]=> + string(23) "width="32" height="256"" + ["bits"]=> + int(8) + ["mime"]=> + string(24) "image/vnd.microsoft.icon" +} +===DONE===