This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Forbid above IV_MAX code points
authorKarl Williamson <khw@cpan.org>
Sat, 1 Jul 2017 17:58:00 +0000 (11:58 -0600)
committerKarl Williamson <khw@cpan.org>
Thu, 13 Jul 2017 03:14:26 +0000 (21:14 -0600)
commitd22ec71778db5c28dfb4e339337f90dad5d214f9
tree9521906349857015d508b0330e0c6d93a226fc03
parente050c0076b9d0972c025d71afe0180d9dfbc6b15
Forbid above IV_MAX code points

This implements the restriction of code points to 0..IV_MAX in such a
way that the process doesn't die when presented with input UTF-8 that
evaluates to a larger one.  Instead, it is treated as overflow.

The commit reinstates causing the offending process to die if trying to
create a character somehow that is above IV_MAX (like
chr(0xFFFFFFFFFFFFF) or trying to do certain operations on one if
somehow one did get created.

The long term goal is to use code points above IV_MAX internally, as
Perl6 does.  So code and tests are not removed, just commented out
ext/XS-APItest/t/utf8_warn_base.pl
t/lib/warnings/utf8
t/op/index.t
t/op/utf8decode.t
t/re/pat_advanced.t
utf8.c