Security Advisories (1)
CVE-2026-107794 (2026-10-10)

ExtUtils::Typemaps::STL::List versions before 1.07 for Perl allocate a 32 GiB array on an empty list. The OUTPUT typemaps call av_extend( av, len-1 ). On an empty list, this undeflows, and av_extend will allocate an array with 2^32 slots, leading to memory exhaustion. Note that a similar issue was fixed in ExtUtils::Typemaps::STL::Vector version 1.05.

NAME

ExtUtils::Typemaps::ObjectMap - A set of typemaps for opaque C/C++ objects

SYNOPSIS

use ExtUtils::Typemaps::ObjectMap;
# First, read my own type maps:
my $private_map = ExtUtils::Typemaps->new(file => 'my.map');

# Then, get the object map set and merge it into my maps
$private_map->merge(typemap => ExtUtils::Typemaps::ObjectMap->new);

# Now, write the combined map to an output file
$private_map->write(file => 'typemap');

DESCRIPTION

ExtUtils::Typemaps::ObjectMap is an ExtUtils::Typemaps subclass that provides a set of mappings for using pointers to C/C++ objects as opaque objects from Perl.

These mappings are taken verbatim from Dean Roehrich's perlobject.map. They are:

# "perlobject.map"  Dean Roehrich, version 19960302
#
# TYPEMAPs
#
# HV *		-> unblessed Perl HV object.
# AV *		-> unblessed Perl AV object.
#
# INPUT/OUTPUT maps
#
# O_*		-> opaque blessed objects
# T_*		-> opaque blessed or unblessed objects
#
# O_OBJECT	-> link an opaque C or C++ object to a blessed Perl object.
# T_OBJECT	-> link an opaque C or C++ object to an unblessed Perl object.
# O_HvRV	-> a blessed Perl HV object.
# T_HvRV	-> an unblessed Perl HV object.
# O_AvRV	-> a blessed Perl AV object.
# T_AvRV	-> an unblessed Perl AV object.

METHODS

These are the overridden methods:

new

Creates a new ExtUtils::Typemaps::ObjectMap object. It acts as any other ExtUtils::Typemaps object, except that it has the object maps initialized.

SEE ALSO

ExtUtils::Typemaps, ExtUtils::Typemaps::Default, ExtUtils::Typemaps::STL::String

AUTHOR

The module was written by Steffen Mueller <cpan@steffen-mueller.net>, but the important bit, the typemap, was written by Dean Roehrich.

COPYRIGHT AND LICENSE

Copyright 2010-2026 by Steffen Mueller

Except for the typemap code, which is copyright 1996 Dean Roehrich

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.