buggy GD scripts crashes PHP
| Bug #19366 | buggy GD scripts crashes PHP | ||||
|---|---|---|---|---|---|
| Submitted: | 2002-09-12 01:55 UTC | Modified: | 2002-09-29 09:54 UTC | ||
| From: | honza at honza dot info | Assigned: | |||
| Status: | Closed | Package: | GD related | ||
| PHP Version: | 4.2.3, 4.3.0-dev | OS: | linux mandrake 2.4.19-7mdk | ||
| Private report: | No | CVE-ID: | None | ||
[2002-09-12 01:55 UTC] honza at honza dot 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
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2002-09-12 08:46 UTC] sander@php.net
[2002-09-26 20:14 UTC] sniper@php.net
[2002-09-29 09:54 UTC] iliaa@php.net