Null dereferencing of a pointer in initconfig.c
Maintainer antworten meist innerhalb von 1 Tag
@lazerg arbeitet bereits daran.
Seit 30.10.2026.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Bereich
- api, backend-api-design
Rechercherichtung
Beginne bei den zwei verlinkten Stellen in Python/initconfig.c und vergleiche die Behandlung von NULL-Werten mit dem Fall PyConfig_MEMBER_WSTR_OPT. Prüfe die C-API-Dokumentation in Doc/c-api/init_config.rst und verifiziere anschließend, dass das Verhalten ihrem Vertrag entspricht und die relevanten Konfigurationstests bestehen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- Python
- Sterne
- 77.8k
- Forks
- 37.7k
- Ø Merge
- 13 Std. 59 Min.
- Gemergte PRs (30 T.)
- 708
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus python/cpython
-
OS-windows type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
docs
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
python/cpython#161007 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
tests topic-profiling type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
python/cpython#160881 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
3.16 build pending type-bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
python/cpython#160829 · 5 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
dependencies infra topic-ensurepip
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
-
bug(sdk): add_toleration_json silently drops camelCase tolerationSeconds for static dict/list inputEvtl. vergeben @ravikumar266 hat das heute übernommen. Offenarea/sdk kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
kubeflow/pipelines#15347 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
predict_file with crop_model duplicates predictions once per imageEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
weecology/DeepForest#1445 ·
-
agent-ready priority: medium status: ready
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
melodic-software/claude-code-plugins#11864 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
PolicyEngine/policyengine-uk#2785 ·
Maintainer antworten meist innerhalb von 2 Tagen