目錄

名稱

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() 中的 segv

在除錯建置中,將最佳化後的正規表示式節點標記為 OPTIMIZED 類型時,可能會將精確文字區塊視為節點,進而產生 SEGV。相當無害。

此問題已修正。

[perl #115992] PL_eval_start 使用後釋放

local $[; 之前有 eval,且不屬於指定的一部分時,可能會崩潰。相當無害。

此問題已修正。

IO 上的長字串換行

讀取或寫入大於 2**31 位元組的字串可能會因整數換行而造成區段錯誤。

此問題已修正。

不相容變更

沒有任何變更與 5.14.0 不相容。如果有的話,它們是錯誤,歡迎回報。

已棄用

自 5.14.0 以來沒有任何已棄用的項目。

模組和實用程式

新的模組和實用程式

已更新的模組和實用程式

以下模組僅有在 "安全性" 中列出的次要程式碼修正(版本號碼未變更)

Socket
SDBM_File
List::Util

Encode 已從版本 2.42_01 升級到版本 2.42_02。

Module::CoreList 已更新到版本 2.49_06 以新增此版本的資料。

已移除的模組和實用程式

無。

文件

新的文件

無。

現有文件的變更

無。

診斷

沒有新的或變更的診斷。

實用程式變更

組態和編譯

沒有變更。

平台支援

新的平台

無。

已終止的平台

無。

特定平台的注意事項

VMS

5.14.3 無法在 VMS 上編譯,因為未完整套用允許同時使用 userelocatableincusesitecustomize 的修補程式系列。其他平台不受影響,而問題現已修正。

已選定的錯誤修正

已知問題

無。

致謝

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 錯誤追蹤器回報問題的(非常感謝的)貢獻者姓名。

如要取得所有 Perl 歷史貢獻者的更完整清單,請參閱 Perl 原始程式碼散佈中的 AUTHORS 檔案。

回報錯誤

如果您發現您認為是錯誤的問題,您可以查看最近張貼在 comp.lang.perl.misc 新聞群組和 http://rt.perl.org/perlbug/ 上的討論串,以及 Perl 錯誤資料庫。您也可以在 Perl 首頁 http://www.perl.org/ 找到資訊。

如果您相信您發現一個未回報的錯誤,請執行您的發行版中包含的 perlbug 程式。務必將您的錯誤精簡為一個小巧但足夠的測試案例。您的錯誤回報,以及 perl -V 的輸出,將會傳送至 perlbug@perl.org,供 Perl 移植團隊分析。

如果您回報的錯誤具有安全性影響,不適合傳送至公開封存的郵件清單,請將其傳送至 perl5-security-report@perl.org。這會指向一個封閉的訂閱未封存的郵件清單,其中包含所有核心提交者,他們能夠協助評估問題的影響,找出解決方案,並協助協調跨 Perl 支援的所有平台發布修補程式以減輕或修正問題。請僅將此地址用於 Perl 核心中的安全性問題,而不是用於在 CPAN 上獨立散佈的模組。

另請參閱

Changes 檔案說明如何檢視已變更內容的詳盡詳細資料。

INSTALL 檔案說明如何建置 Perl。

README 檔案說明一般事項。

ArtisticCopying 檔案說明著作權資訊。