目录

名称

perl5144delta - perl v5.14.4 的新增内容

说明

本文档介绍了 5.14.3 版本和 5.14.4 版本之间的差异。

如果您要从早期版本(例如 5.12.0)升级,请首先阅读 perl5140delta,其中介绍了 5.12.0 和 5.14.0 之间的差异。

核心增强功能

自 5.14.0 以来无任何更改。

安全性

此版本包含一个重大、一个中等以及一些次要的安全修复。后者主要包含在内,以便测试套件能够通过 clang 编译器的地址清理程序工具顺利通过。

CVE-2013-1667:任意哈希键导致内存耗尽

使用精心设计的哈希键集(例如 URL 上的参数),可能会导致哈希消耗大量的内存和 CPU,从而可能导致拒绝服务。

此问题已修复。

Encode 中的内存泄漏

Encode.xs 中的 UTF-8 编码实现存在内存泄漏,该泄漏已修复。

[perl #111594] Socket::unpack_sockaddr_un 堆缓冲区溢出

复制 sockaddr 缓冲区时可能会发生读取缓冲区溢出。相当无害。

此问题已修复。

[perl #111586] SDBM_File:修复对全局“.dir”的越界访问

对一些字符串文字复制了额外的字节。相当无害。

此问题已修复。

List::Util 中的越界错误

正在使用一个字符串文字,其中包含超出字符串末尾的两个字节。相当无害。

此问题已修复。

[perl #115994] 修复 regcomp.c:S_join_exact() 中的段错误

在调试版本中,在将经过优化的正则表达式节点标记为类型 OPTIMIZED 时,它可能会将确切文本块视为节点,从而导致段错误。相当无害。

此问题已修复。

[perl #115992] PL_eval_start 在释放后使用

eval之前是语句local $[;且不是赋值的一部分时,可能会崩溃。相当无害。

此问题已修复。

wrap-around with IO on long strings

由于整数环绕,读取或写入大小超过 2**31 字节的字符串可能会导致段错误。

此问题已修复。

不兼容的更改

没有故意与 5.14.0 不兼容的更改。如果存在,它们是错误,欢迎报告。

弃用

自 5.14.0 以来没有弃用。

模块和实用程序

新模块和实用程序

更新的模块和实用程序

以下模块只有上面在 "Security" 中列出的次要代码修复(版本号未更改)

Socket
SDBM_File
List::Util

Encode 已从版本 2.42_01 升级到版本 2.42_02。

Module::CoreList 已更新到版本 2.49_06 以添加此版本的 data。

已删除的模块和实用程序

无。

文档

新文档

无。

对现有文档的更改

无。

诊断

没有新的或更改的诊断。

实用程序更改

配置和编译

没有更改。

平台支持

新平台

无。

已停用的平台

无。

特定于平台的说明

VMS

由于不完全应用允许同时使用 userelocatableincusesitecustomize 的补丁系列,5.14.3 无法在 VMS 上编译。其他平台不受影响,现在已更正此问题。

选定的错误修复

已知问题

无。

鸣谢

Perl 5.14.4 大约代表自 Perl 5.14.3 以来 5 个月的开发时间,包含来自 12 位作者的 49 个文件中的大约 1,700 行更改。

由于活跃的用户和开发人员社区,Perl 在其第三个十年中继续蓬勃发展。已知以下人员为 Perl 5.14.4 的改进做出了贡献

Andy Dougherty、Chris 'BinGOs' Williams、Christian Hansen、Craig A. Berry、Dave Rolsky、David Mitchell、Dominic Hargreaves、Father Chrysostomos、Florian Ragwitz、Reini Urban、Ricardo Signes、Yves Orton。

以上列表几乎肯定不完整,因为它是由版本控制历史自动生成的。特别是,它不包括向 Perl bug 跟踪器报告问题的(非常感谢的)贡献者的姓名。

有关 Perl 所有历史贡献者的更完整列表,请参阅 Perl 源代码分发中的 AUTHORS 文件。

报告错误

如果您发现您认为是一个错误,您可能需要查看最近发布到 comp.lang.perl.misc 新闻组的文章和 http://rt.perl.org/perlbug/ 上的 perl 错误数据库。https://www.perl5.cn/(Perl 主页)上也可能有一些信息。

如果您认为自己有一个未报告的错误,请运行发行版中包含的 perlbug 程序。务必将您的错误精简为一个微小但足够小的测试用例。您的错误报告连同 perl -V 的输出将被发送到 [email protected],供 Perl 移植团队分析。

如果您报告的错误具有安全隐患,不适合发送到公开存档的邮件列表,请将其发送到 [email protected]。这指向一个封闭的订阅未存档的邮件列表,其中包括所有核心提交者,他们能够帮助评估问题的影响,找出解决方案,并帮助协调发布补丁以减轻或修复所有支持 Perl 的平台上的问题。请仅将此地址用于 Perl 核心中的安全问题,而不是 CPAN 上独立分发的模块。

另请参阅

Changes 文件,了解如何查看已更改内容的详尽详细信息。

INSTALL 文件,了解如何构建 Perl。

有关常规内容的自述文件

有关版权信息的ArtisticCopying 文件。