From ed0ec669968420ad0fa942c92d92b69a95e9beb1 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 17 Jun 2016 17:50:36 +0200 Subject: [PATCH] Fix #53640: XBM images require width to be multiple of 8 --- NEWS | 1 + ext/gd/libgd/xbm.c | 2 +- ext/gd/tests/bug53640.phpt | 2 -- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index f28cb054fa9e2..c7df8a03c8ff0 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,7 @@ PHP NEWS - GD: . Fixed bug #43475 (Thick styled lines have scrambled patterns). (cmb) + . Fixed bug #53640 (XBM images require width to be multiple of 8). (cmb) - OpenSSL: . Fixed bug #71915 (openssl_random_pseudo_bytes is not fork-safe). diff --git a/ext/gd/libgd/xbm.c b/ext/gd/libgd/xbm.c index ce6b4c8182542..503ac824bcb1b 100644 --- a/ext/gd/libgd/xbm.c +++ b/ext/gd/libgd/xbm.c @@ -210,7 +210,7 @@ void gdImageXbmCtx(gdImagePtr image, char* file_name, int fg, gdIOCtx * out) if (gdImageGetPixel(image, x, y) == fg) { c |= b; } - if ((b == 128) || (x == sx && y == sy)) { + if ((b == 128) || (x == sx - 1)) { b = 1; if (p) { gdCtxPrintf(out, ", "); diff --git a/ext/gd/tests/bug53640.phpt b/ext/gd/tests/bug53640.phpt index a16b7c24c08a5..ee875de19a3fd 100644 --- a/ext/gd/tests/bug53640.phpt +++ b/ext/gd/tests/bug53640.phpt @@ -12,8 +12,6 @@ $white = imagecolorallocate($im, 255, 255, 255); imagefilledrectangle($im, 2, 2, 6, 6, $white); imagexbm($im, NULL); ?> ---XFAIL-- -Padding is not implemented yet --EXPECT-- #define image_width 9 #define image_height 9