legacy_tracing.c: Unchecked PyLong_AsInt in tracing callbacks
オープン
まだ誰も着手していません。
interpreter-core
type-bug
- 主要言語
- Python
- スター
- 77.2k
- フォーク
- 35.9k
- PR マージ指標
- PR 指標を取得中
説明
Bug report
Bug description:
Original gist: https://gist.github.com/devdanzin/d1a6ab9f62970be0cae139366ce3c482
Summary
sys_trace_jump_func(line 382-384) andsys_trace_line_func(line 355):PyLong_AsInterror return -1 not checked. Proceeds with wrong values and pending exception.Fix
Add
if (result == -1 && PyErr_Occurred()) return NULL;checks.
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
- gh-153623
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
legacy_tracing.c の sys_trace_line_func と sys_trace_jump_func を読み、355 行目および 382-384 行目で指摘されている PyLong_AsInt 呼び出しに焦点を当ててください。両方のコールバックが、無効な値を使って処理を続行したり、保留中の例外を残したりせずに変換エラーを処理していることを確認してください。Issue はすでに PR gh-153623 に関連付けられているため、始める前にその作業を確認してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- c
- 領域
- backend
- issue の種類
- バグ
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 25/100