Sign extension at phar_object.c
還沒有人認領這個 Issue。
評估
研究方向
從 ext/phar/phar_object.c 中的 PharFileInfo::getCompressedSize() 開始,然後閱讀 Zend/zend_long.h 中 zend_long 的定義。在 32 位元建置中重現 compressed_filesize 較大的情況,並新增或更新相關的 Phar 回歸測試涵蓋。當大於 INT32_MAX 的值不再被回報為負數時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Description
The field compressed_filesize is a uint32_t, but PharFileInfo::getCompressedSize() returns it with RETURN_LONG:
https://github.com/php/php-src/blob/fca72841a5d41b11c0e60ed0906af6af302741ca/ext/phar/phar_object.c#L4497
zend_long is 32-bit on 32-bit platforms:
https://github.com/php/php-src/blob/fca72841a5d41b11c0e60ed0906af6af302741ca/Zend/zend_long.h#L41-L49
so a size above INT32_MAX is reported as a negative number.
Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.
Reporter: Pavel Nekrasov ([email protected]).
PHP Version
php version - 8.3
Operating System
No response
- 主要語言
- C
- 星號
- 40.4k
- 分支
- 8.2k
- 平均合併
- 2 天 17 小時
- 30 天內合併 PR
- 115
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
php/php-src 的其他 Issue
-
Bug Status: Needs Triage
難度 2/5 1-3 小時 新手友好度 76/100
-
Bug Status: Needs Triage
難度 1/5 1 小時以內 新手友好度 90/100
-
Bug Status: Needs Triage
難度 2/5 1-3 小時 新手友好度 78/100
-
Bug Category: Tests Status: Verified
難度 2/5 1-3 小時 新手友好度 68/100
-
Bug SAPI: fpm Status: Needs Triage
難度 2/5 1-3 小時 新手友好度 65/100
相似的 Issue
-
難度 2/5 1-2 天 新手友好度 78/100
brunodev85/gladio#18 ·
-
難度 2/5 1-3 小時 新手友好度 68/100
OpenPrinting/cups#1721 ·
-
難度 1/5 1 小時以內 新手友好度 88/100
zephyrproject-rtos/zephyr#120318 · 1 則留言 ·
-
issue: bug report
難度 1/5 1 小時以內 新手友好度 90/100
-
[BUG] [25.12.5] 未關閉
難度 2/5 1-3 小時 新手友好度 72/100