legacy_tracing.c: Unchecked PyLong_AsInt in tracing callbacks

Offen
#153,622 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
25/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
c
Bereich
backend

Rechercherichtung

Lies legacy_tracing.c bei sys_trace_line_func und sys_trace_jump_func und konzentriere dich auf die PyLong_AsInt-Aufrufe, die in den Zeilen 355 und 382-384 erwähnt werden. Bestätige, dass beide Callbacks Konvertierungsfehler behandeln, ohne mit ungültigen Werten oder einer ausstehenden Exception fortzufahren. Das Issue ist bereits mit PR gh-153623 verknüpft; prüfe diese Arbeit, bevor du beginnst.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

interpreter-core type-bug

Bug report

Bug description:

Original gist: https://gist.github.com/devdanzin/d1a6ab9f62970be0cae139366ce3c482

Summary

sys_trace_jump_func (line 382-384) and sys_trace_line_func (line 355): PyLong_AsInt error 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
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
36k
Ø Merge
1 T. 9 Std.
Gemergte PRs (30 T.)
558

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus python/cpython

Alle Issues in python/cpython

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.