Hi Todd, I'm forwarding you a patch received at Debian fixing the toGDImage issues.
I'm about to test it and upload a new version of the package containing the patch if it works fine and there's no regression (I doubt there will be any :). So, please review it and consider applying it upstream. Note: when replying please preserve the CC header, thanks. ---------- Forwarded Message ---------- Subject: [php-maint] Bug#496079: [PATCH] $object->toGDImage() fails every time Date: Friday 22 August 2008 From: Patrick Matthäi <[EMAIL PROTECTED]> To: Debian Bug <[EMAIL PROTECTED]> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Package: php5-ffmpeg Version: 0.5.3.1-2 Severity: important Tags: patch Hello, the toGDImage() method is broken - it also fails on his own tests (from the tests/ dir). The attached patch fixes this bug. Please also send it to the upstream author and get sure (freeze exception) that it also enters Lenny. Thanks. - -- /* Mit freundlichem Gruß / With kind regards, Patrick Matthäi E-Mail: [EMAIL PROTECTED] Comment: Always if we think we are right, we were maybe wrong. */ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) iEYEARECAAYFAkiu1w0ACgkQ2XA5inpabMcqtQCfVmxmnttTF+tla69f/Nxz0Oxx XeMAn1jsSW0yLCFWcGzpUCRtGfpzonvm =2JwX -----END PGP SIGNATURE----- ------------------------------------------------------- Cheers, -- Atomo64 - Raphael Please avoid sending me Word, PowerPoint or Excel attachments. See http://www.gnu.org/philosophy/no-word-attachments.html
diff -Naur ffmpeg-php-0.5.3.1.orig/ffmpeg_frame.c ffmpeg-php-0.5.3.1/ffmpeg_frame.c
--- ffmpeg-php-0.5.3.1.orig/ffmpeg_frame.c 2008-08-22 17:03:55.000000000 +0200
+++ ffmpeg-php-0.5.3.1/ffmpeg_frame.c 2008-08-22 17:06:15.000000000 +0200
@@ -396,15 +396,14 @@
int x, y;
int *src = (int*)frame->data[0];
+ if(width > dest->sx || height > dest->sy){
+ return -1;
+ }
+
for (y = 0; y < height; y++) {
for (x = 0; x < width; x++) {
-
- if (gdImageBoundsSafeMacro(dest, x, y)) {
- /* copy pixel to gdimage buffer zeroing the alpha channel */
- dest->tpixels[y][x] = src[x] & 0x00ffffff;
- } else {
- return -1;
- }
+ /* copy pixel to gdimage buffer zeroing the alpha channel */
+ dest->tpixels[y][x] = src[x] & 0x00ffffff;
}
src += width;
}
ffmpeg_php_gdtoimage_fix.diff.sig
Description: Binary data
signature.asc
Description: This is a digitally signed message part.

