python / python/cpython

test_initconfig_get_api fails on platforms where malloc(0) returns NULL

Abierto
#153,691 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

tests type-bug
Lenguaje dominante
Python
Estrellas
77.2k
Forks
35.9k
Métricas de merge de PR
Métricas de PR pendientes

Descripción

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

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza con test_initconfig_get_api en Programs/_testembed.c y sigue la llamada a PyInitConfig_GetStrList para la lista xoptions de longitud cero. Comprueba el comportamiento de asignación de la implementación en plataformas donde malloc(0) devuelve NULL y, a continuación, ejecuta la prueba específica para confirmar que pasa sin cambiar la longitud esperada, que es cero.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
c, python
Área
api, testing-qa
Tipo de issue
Error
Dificultad
2/5
Tiempo estimado
1-3 horas
Estado de actividad
Estancado
Claridad
Bien especificado
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.