Null dereferencing of a pointer in initconfig.c
維護者通常 1 天內回覆
@lazerg 已經在處理了。
開始於 2026年10月30日。
評估
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 新手友好度
- 72/100
- Issue 類型
- 缺陷
- 描述清晰度
- 描述清楚
- 活躍度
- 活躍
研究方向
從 Python/initconfig.c 中連結的兩個位置開始,將 NULL 值的處理方式與 PyConfig_MEMBER_WSTR_OPT 情況進行比較。查看 Doc/c-api/init_config.rst 中的 C API 文件,接著確認行為是否符合其契約,以及相關設定測試是否通過。
由索引模型根據 Issue 內容生成。
描述
Bug report
Potentially, if "value" equals NULL and "spec->type" equals "PyConfig_MEMBER_WSTR_OPT", null will be passed into "utf8_to_wstr" function and might cause a segmentation fault in strlen
https://github.com/python/cpython/blob/d3a1e7280bd74a16c5822cff9c77fa28da4d725e/Python/initconfig.c#L4369-L4376
https://github.com/python/cpython/blob/d3a1e7280bd74a16c5822cff9c77fa28da4d725e/Python/initconfig.c#L4324-L4328
Documentation states that "value" is a null-terminated UTF-8 string, but isn't clearly stating that Null is allowed
Suggested fix: separate "value" and "spec->type" checks
if (value == NULL) {
if (spec->type != PyConfig_MEMBER_WSTR_OPT) {
nitconfig_set_error(config, "config option string cannot be NULL");
return -1;
}
wchar_t **member = raw_member;
free(*member);
*member = wstr;
return 0;
}
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
- 主要語言
- Python
- 星號
- 77.8k
- 分支
- 37.7k
- 平均合併
- 17 小時 24 分鐘
- 30 天內合併 PR
- 716
環境準備
在瀏覽器裡用你自己的 GitHub 帳號啟動這個專案的開發容器。
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
python/cpython 的其他 Issue
-
build OS-unsupported OS-windows type-bug
難度 2/5 1-3 小時 新手友好度 60/100
維護者通常 1 天內回覆
-
What's New in 3.12 credits the unstable C API tier to PEP 697 instead of PEP 689可能已有人在做 @TheLouisMahdi 於 1 天前認領。 未關閉docs
難度 1/5 1 小時以內 新手友好度 82/100
python/cpython#161078 · 3 則留言 ·
維護者通常 1 天內回覆
-
OS-windows type-bug
難度 2/5 1-3 小時 新手友好度 68/100
維護者通常 1 天內回覆
-
docs
難度 2/5 1-3 小時 新手友好度 72/100
python/cpython#161007 · 4 則留言 ·
維護者通常 1 天內回覆
-
tests topic-profiling type-bug
難度 2/5 1-3 小時 新手友好度 76/100
python/cpython#160881 · 1 則留言 ·
維護者通常 1 天內回覆
相似的 Issue
-
Import errors are swallowed: PerthImplicitWatermarker silently becomes None可能已有人在做 @JonRC 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 82/100
resemble-ai/Perth#23 ·
-
correction metadata
難度 2/5 1 小時以內 新手友好度 65/100
acl-org/acl-anthology#10753 · 1 則留言 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 62/100
earthtojake/text-to-cad#758 ·
維護者通常 1 天內回覆
-
難度 1/5 1-3 小時 新手友好度 70/100
DataTalksClub/faq#545 ·
維護者通常 2 天內回覆
-
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆