#19366 [Opn->Fbk]: buggy GD scripts crashes PHP
| From: | sander@php.net | Date: | Thu, 12 Sep 2002 13:46:02 +0000 |
| Subject: | #19366 [Opn->Fbk]: buggy GD scripts crashes PHP | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-19242@lists.php.net to get a copy of this message | ||
ID: 19366
Updated by: sander@php.net
Reported By: honza@honza.info
-Status: Open
+Status: Feedback
Bug Type: GD related
Operating System: linux mandrake 2.4.19-7mdk
PHP Version: 4.2.3
New Comment:
Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php
Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2002-09-12 01:55:30] honza@honza.info
Hello,
well, this will be more tricky, as it doesn't happen on my local
computer (win32), but the web-hosting server I use (and pay). I
exchanged several e-mails with the administrator of the web-hosting
service (www.pipni.cz) and it crashes:
mandrake 2.4.19-7mdk + PHP 4.2.3 completely, including apache
same on redhat
on slackware 8.1 + php 4.2.2 only the script crashed, not whole
server.
Now to the script. I got this script from a Czech PHP course and there
was a bug in the script. It creates a bitmap and then draws into the
bitmap. The bug is the bitmap is too small, the coordinates used in
draw and fill functions are beyond the size of the bitmap. And the fill
functions that get the starting point outside of bitmap let it go
down.
Here is the script:
<?php
$width = 50;
$height = 100;
$ImHandle = imagecreate($width,$height);
//Define colors
$MyBlue = imagecolorAllocate($ImHandle, 0, 0, 255);
$MyRed = imagecolorAllocate($ImHandle, 255, 0, 0);
$MyWhite = imagecolorAllocate($ImHandle, 255, 255, 255);
$MyBlack = imagecolorAllocate($ImHandle, 0, 0, 0);
//Draw
ImageFill($ImHandle,0,0,$MyBlack);
ImageLine($ImHandle,20,20,180,20,$MyWhite);
ImageLine($ImHandle,20,20,20,70,$MyBlue);
ImageLine($ImHandle,20,70,180,70,$MyRed);
ImageLine($ImHandle,180,20,180,45,$MyWhite);
ImageLine($ImHandle,180,70,180,45,$MyRed);
ImageLine($ImHandle,20,20,100,45,$MyBlue);
ImageLine($ImHandle,20,70,100,45,$MyBlue);
ImageLine($ImHandle,100,45,180,45,$MyRed);
ImageFill($ImHandle,21,45,$MyBlue);
ImageFill($ImHandle,100,69,$MyRed);
ImageFill($ImHandle,100,21,$MyWhite);
ImageString($ImHandle,4,40,75,"Czech Republic",$MyWhite);
// Send to browser
Header("Content-type: image/PNG");
ImagePNG($ImHandle);
//Free resources
imagedestroy($ImHandle);
?>
Take care
Honza
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=19366&edit=1