perl5142delta - perl v5.14.2 的新功能
此文件描述 5.14.1 發行版與 5.14.2 發行版之間的差異。
如果您從較早的發行版(例如 5.14.0)升級,請先閱讀 perl5141delta,其中描述了 5.14.0 和 5.14.1 之間的差異。
自 5.14.0 以來沒有變更。
File::Glob::bsd_glob()
記憶體錯誤,帶有 GLOB_ALTDIRFUNC (CVE-2011-2728)。使用不受支援的標記 GLOB_ALTDIRFUNC 呼叫 File::Glob::bsd_glob
會導致存取違規/分段錯誤。接受外部來源標記值的 Perl 程式可能會使自己暴露於阻斷服務或任意程式碼執行攻擊。目前沒有已知的漏洞。此問題已透過明確停用所有不受支援的標記,並將未使用的函式指標設定為 null 來修正。此錯誤是由 Clément Lecigne 回報。
Encode
decode_xs n 位元組堆疊溢位 (CVE-2011-2939)Encode
中的錯誤可能會在某些輸入上導致堆疊溢位。此問題已修正。此錯誤是由 Robert Zacek 回報。
沒有任何變更故意與 5.14.0 不相容。如果存在任何變更,它們就是錯誤,歡迎回報。
自 5.14.0 以來沒有任何已棄用項目。
無
CPAN 已從版本 1.9600 升級至版本 1.9600_01。
CPAN::Distribution 已從版本 1.9602 升級至 1.9602_01。
從 CPAN 版本 1.9800 回溯套用錯誤修正。確保在 dynamic_config
為 true 的情況下,從 CPAN Meta 檔案正確偵測 configure_requires
先決條件。[rt.cpan.org #68835]
同時確保 configure_requires
僅在 META 檔案中檢查,而非 MYMETA 檔案,以防止會捨棄 configure_requires
的 MYMETA 產生。
Encode 已從版本 2.42 升級至 2.42_01。
請參閱 "安全性"。
File::Glob 已從版本 1.12 升級至版本 1.13。
請參閱 "安全性"。
PerlIO::scalar 已從版本 0.11 升級至 0.11_01。
修正 open my $fh, ">", \$scalar
在 $scalar
為寫入時複製的純量時無法運作的問題。
無
無
無
修正 socketsize 的修正現在讓測試套件通過 HP-UX PA-RISC 的 64bitall 建置。
建置系統已更新,可與 Mac OS X 10.7 下的建置工具搭配使用。
在 @INC 篩選器(@INC 中的子常式回傳的子常式)中,$_ 過去行為異常:如果從子常式回傳,它不會被複製,但變數本身會被回傳;而釋放 $_(例如,使用 undef *_
)會導致 perl 崩潰。此問題已修正 [perl #91880]。
Perl 5.10.0 引進了一些錯誤邏輯,使得輸入字串為空時,封裝範本中段的「U*」等於「U0」。此問題已修正 [perl #90160]。
如果在第一次呼叫 caller
之後指派 @DB::args
,則 caller
不會再從 DB 套件呼叫時洩漏記憶體。 Carp 會觸發此錯誤 [perl #97010]。
utf8::decode
有個惡劣的錯誤,會修改寫入時複製的純量字串緩衝區(例如,略過複製)。這可能會導致雜湊具有兩個具有相同金鑰的元素 [perl #91834]。
封裝變數的在地化用於使其為唯讀,如果它包含寫入時複製的字串。
受限雜湊(請參閱 fields 實用範例)的元素包含寫入時複製的值,無法刪除,也無法清除此類雜湊(%hash = ()
)。
鎖定為 glob 複製的雜湊元素不再導致後續指派損毀 glob。
已修正涉及 5.14.0 中引進的正規表示式修改項 /aa
和 \b
逸出序列的恐慌 [perl #95964]。
以下是部分重大未修正錯誤的清單,這些錯誤是 5.12.0 的回歸。
PERL_GLOBAL_STRUCT
已損毀。
自 perl 5.14.0 以來,無法使用 -DPERL_GLOBAL_STRUCT
進行建置。這表示 perl 目前無法在任何需要以這種方式建置的平台上執行,包括 Symbian。
雖然 PERL_GLOBAL_STRUCT
現在在 perl 的最新開發版本上再次運作,但它實際上是否在 Symbian 上運作尚未驗證。
我們非常有興趣聽取在 Symbian 上使用 Perl 的任何人的意見。
Perl 5.14.2 代表自 Perl 5.14.1 以來大約三個月的開發時間,並包含來自 9 位作者的 61 個檔案中約 1200 行的變更。
Perl 繼續蓬勃發展進入第三個十年,這要歸功於一個活躍的使用者和開發人員社群。已知以下人員貢獻了成為 Perl 5.14.2 的改進
Craig A. Berry、David Golden、Father Chrysostomos、Florian Ragwitz、H.Merijn Brand、Karl Williamson、Nicholas Clark、Pau Amma 和 Ricardo Signes。
如果您發現您認為是錯誤的部分,您可以查看最近張貼到 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 上散布的模組。
變更 檔案,說明如何檢視已變更內容的詳盡詳細資料。
安裝 檔案,說明如何建置 Perl。
自述 檔案,說明一般事項。
藝術 和 複製 檔案,說明版權資訊。