Security Advisories (2)
CVE-2024-53901 (2024-11-17)

"invalid next size" backtrace on use of trim on certain images

CVE-2026-8669 (2026-05-15)

Imager versions through 1.030 for Perl allow a heap out of bounds (OOB) write on crafted multi-frame GIF files. Imager::File::GIF's i_readgif_multi_low allocates a single per-row buffer GifRow sized for the GIF's global screen width 'SWidth' and reuses it across every image in the file. The page-match branch validates Image.Width + Image.Left > SWidth before each DGifGetLine write, but the parallel skip-image branch at imgif.c:790-805 calls DGifGetLine(GifFile, GifRow, Width) with no such check.

NAME

Imager::Handy - simple access to common functions

SYNOPSIS

use Imager ':handy';
my $color = NC(255, 0, 0);
my $font = NF(1.0, 0, 0);

DESCRIPTION

If you use Imager with the :handy import tag, it will export a number of functions that can shorter your code.

NC()
newcolor()
newcolour()

Create a new Imager::Color object, supplying any parameters to the new() method.

my $color = NC('red');
NF()
newfont()

Create a new Imager::Font object, supplying any parameters to the new() method.

my $font = NF(file => 'foo.ttf');
NCF()

Create a new Imager::Color::Float object, supplying any parameters to the new() method.

my $colorf = NCF(1.0, 0, 0);

BUGS

NC() can be mostly replaced by supplying the color name or other description directly to the drawing method.

AUTHOR

Tony Cook <tonyc@cpan.org>