Tony Cook [Mon, 28 Sep 2009 09:33:53 +0000 (09:33 +0000)]
- the conv filter now enforces that the sum of the coefficients is
non-zero. Also, rather than skipping pixels off the edge off the
edge of the image, the closest edge pixel is used. Previously
dividing by the zero sum of coefficients could cause invalid
results or runtime exceptions.
Thanks to David Cantrell's Alpha-NetBSD CPAN test box for revealing
this bug.
Tony Cook [Thu, 17 Sep 2009 12:26:22 +0000 (12:26 +0000)]
- an integer division meant that preview scaling to below 1 pixel
wide or high (which isn't too useful anyway) was calculating using
NaNs on most platforms, and causing an exception on others.
Thanks to David Cantrell for producing a backtrace of the crash on
his Alpha-NetBSD CPAN test box which made it possible to track this
down.
Tony Cook [Fri, 12 Dec 2008 10:23:18 +0000 (10:23 +0000)]
- re-arrange the POD for Imager::Font::BBox:
- mark total_width(), pos_width(), end_offset() obsolete, since
they're mostly for backwards compatibility
- group width methods and height methods
https://rt.cpan.org/Ticket/Display.html?id=39999
Tony Cook [Fri, 12 Dec 2008 09:40:19 +0000 (09:40 +0000)]
- add limited tests for Imager::ExtUtils
- make Imager::ExtUtils->includes use an absolute path, since
a relative path could cause failures using Inline::C.
http://rt.cpan.org/Ticket/Display.html?id=37353
Tony Cook [Thu, 11 Dec 2008 11:04:53 +0000 (11:04 +0000)]
- corrected a reference leak where writing GIFs would leak memory.
This could also happen calling to_paletted().
Also documented the underlying long existing feature where the
colors parameter is filled with the generated color table and added
tests for it.
http://rt.cpan.org/Ticket/Display.html?id=41028
Tony Cook [Mon, 26 May 2008 06:44:34 +0000 (06:44 +0000)]
- an optimization skipping 0 src alpha values could cause the
rubthrough() to read past the end of a buffer.
http://www.nntp.perl.org/group/perl.cpan.testers/2008/05/msg1509184.html
Tony Cook [Mon, 5 May 2008 05:02:26 +0000 (05:02 +0000)]
- the gif_screen_height tag was overriding the screen width and being
ignored for the screen height when present.
https://rt.cpan.org/Public/Bug/Display.html?id=35568
Tony Cook [Wed, 30 Apr 2008 10:54:57 +0000 (10:54 +0000)]
- In some cases when an error occurs reading those parts of a JPEG
file after the image the scan-line buffer could be freed a second
time. In cases where the the error occured while reading the image
data it's possible that the buffer could have leaked.
Thanks to Gabriel Vasseur for reporting this and help in tracking
it down.
Tony Cook [Wed, 23 Apr 2008 01:00:02 +0000 (01:00 +0000)]
- fixed a related problem for image fills.
- Possible security issue: The floating point sample path for image
based fills had a buffer overflow. This would overwrite the end of
a malloc()ed buffer with double precision floats.
Tony Cook [Tue, 22 Apr 2008 04:10:06 +0000 (04:10 +0000)]
- Regression: filling a greyscale image with a hatch used the wrong
color channels from the supplied fg/bg colors.
https://rt.cpan.org/Ticket/Display.html?id=35278
Tony Cook [Fri, 18 Apr 2008 04:36:55 +0000 (04:36 +0000)]
- check that the result of fileno($fh) is defined rather than simply
true when read() or write() is supplied with an fh parameter.
http://rt.cpan.org/Ticket/Display.html?id=35139
- i_scale_axis() wasn't checking the result of i_img_new_ch()
resulting in a SIGSEGV when attempting to scale an image to a size
too large to fit in memory. This is a NULL pointer access issue,
not a buffer overflow.
Added a check for the failure.
scale_calculate() (and hence scale()) will now fail if any of the
scale size parameters are a reference.
http://rt.cpan.org/Ticket/Display.html?id=35172
Tony Cook [Tue, 1 Apr 2008 10:23:47 +0000 (10:23 +0000)]
- removed the pointless #! line from lib/Imager/Font/Wrap.pm
Noticed when I saw:
https://bugzilla.redhat.com/show_bug.cgi?id=166254
I'm not changing the #! lines of the sample code, since it's sample
code, not intended for installation.
http://rt.cpan.org/Ticket/Display.html?id=33408
Tony Cook [Tue, 1 Apr 2008 10:12:17 +0000 (10:12 +0000)]
- mixing qtype scaling now sets all channels of a pixel to zero if
the pixel has zero coverage (zero alpha). This should produce more
compressible output files.
http://rt.cpan.org/Ticket/Display.html?id=32324
Tony Cook [Tue, 1 Apr 2008 09:48:59 +0000 (09:48 +0000)]
- writing a 2 or 4 channel image to a BMP file will now write that
image as if composited against a background, black by default,
overridable with the i_background tag/parameter.
http://rt.cpan.org/Ticket/Display.html?id=30075
Tony Cook [Tue, 1 Apr 2008 08:15:22 +0000 (08:15 +0000)]
- writing a 2 or 4 channel image to a PGM/PPM will now write that
image as if composited against a background, black by default,
overridable with the i_background tag/parameter.
http://rt.cpan.org/Ticket/Display.html?id=30074