summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/gd/libgd/gd.c2
-rw-r--r--ext/gd/tests/bug24155.phpt26
2 files changed, 27 insertions, 1 deletions
diff --git a/ext/gd/libgd/gd.c b/ext/gd/libgd/gd.c
index 7b0411a2b1..010662564f 100644
--- a/ext/gd/libgd/gd.c
+++ b/ext/gd/libgd/gd.c
@@ -2613,7 +2613,7 @@ gdImagePtr gdImageRotate270 ( gdImagePtr src )
if (dst != NULL) {
gdImagePaletteCopy (dst, src);
- for (uY = 0; uY<src->sx; uY++) {
+ for (uY = 0; uY<src->sy; uY++) {
for (uX = 0; uX<src->sx; uX++) {
c = f (src, uX, uY);
gdImageSetPixel(dst, (dst->sx - uY - 1), uX, c);
diff --git a/ext/gd/tests/bug24155.phpt b/ext/gd/tests/bug24155.phpt
new file mode 100644
index 0000000000..aa931e619f
--- /dev/null
+++ b/ext/gd/tests/bug24155.phpt
@@ -0,0 +1,26 @@
+--TEST--
+Bug #24155 (gdImageRotate270 rotation problem).
+--SKIPIF--
+<?php
+ if (!extension_loaded('gd')) {
+ die("skip gd extension not available\n");
+ }
+ if (!GD_BUNDLED) {
+ die('skip external GD libraries may fail');
+ }
+?>
+--FILE--
+<?php
+ $dest = dirname(realpath(__FILE__)) . 'bug24155.png';
+ @unlink($dest);
+
+ $im = imagecreatetruecolor(30, 50);
+ imagefill($im, 0, 0, (16777215 - 255));
+ $im = imagerotate($im, 270, 255);
+ imagepng($im, $dest);
+
+ echo md5_file($dest) . "\n";
+ @unlink($dest);
+?>
+--EXPECT--
+cc867fd65c30883463ce58d0341f0997