test_initconfig_get_api fails on platforms where malloc(0) returns NULL
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 77.2k
- Forks
- 35.9k
- PR-Merge-Kennzahlen
- PR-Kennzahlen ausstehend
Beschreibung
Bug report
Bug description:
test_initconfig_get_api (Programs/_testembed.c) executes the code
assert(PyInitConfig_GetStrList(config, "xoptions", &length, &items) == 0);
assert(length == 0);
PyInitConfig_GetStrList has malloc
*items = malloc(list->length * sizeof(char*));
if length is zero the behavior of malloc(0) is implementation defined, this seems to be problematic on platforms where malloc of zero returns NULL.
CPython versions tested on:
3.14
Operating systems tested on:
Other
Linked PRs
- gh-153816
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit test_initconfig_get_api in Programs/_testembed.c und verfolge den Aufruf von PyInitConfig_GetStrList für die xoptions-Liste der Länge null. Prüfe das Allokationsverhalten der Implementierung auf Plattformen, auf denen malloc(0) NULL zurückgibt, und führe anschließend den gezielten Test aus, um zu bestätigen, dass er besteht, ohne die erwartete Länge null zu ändern.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, python
- Bereich
- api, testing-qa
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 30/100