imagerotate fail to copy entire source image
| Bug #24155 | imagerotate fail to copy entire source image | ||||
|---|---|---|---|---|---|
| Submitted: | 2003-06-12 12:23 UTC | Modified: | 2003-06-12 14:33 UTC | ||
| From: | tom at gksystems dot com | Assigned: | iliaa (profile) | ||
| Status: | Closed | Package: | GD related | ||
| PHP Version: | 4.3.2 | OS: | all | ||
| Private report: | No | CVE-ID: | None | ||
[2003-06-12 12:23 UTC] tom at gksystems dot com
Description:
------------
When rotating an image which is taller-than-wide through an angle > 225 and <= 315 degrees, only a square portion of the image is copied. The remainder is black.
ext/libgd/gd.c has a bug in gdImageRotate270:
for (uY = 0; uY<src->sx; uY++) {
for (uX = 0; uX<src->sx; uX++) {
uY and uX both have a range of src->sx, so only a square region is copied. The first line should be:
for (uY = 0; uY<src->sy; uY++) {
Reproduce code:
---------------
<script language="PHP">
// June 12, 2003 Tom Robinson
// Display a 30x50 yellow rectangle, rotated 270 degrees CCW.
$im = ImageCreateTrueColor(30,50);
imagefill($im,0,0,16777215-255);
$im = imagerotate($im,270,255);
header("Content-type: image/png");
imagepng($im);
</script>
Expected result:
----------------
See a yellow rectangle.
Actual result:
--------------
See a rectangle with a yellow square and the rest is black.
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2003-06-12 14:33 UTC] iliaa@php.net