Segfault in `ZstdCompressorIterator_iternext` with buffer-protocol data
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza en compressoriterator.c, en ZstdCompressorIterator_iternext, e inspecciona la ruta Py_DECREF(self->readResult) cuando read_to_iter recibe datos del protocolo de búfer, como memoryview. Trabaja en un reproductor mínimo para entradas grandes y, después, verifica que el reproductor ya no provoca un segfault y que la iteración completada sigue siendo segura.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi,
I've been experimenting with passing memoryviews into read_to_iter, and I've been hitting segfaults pretty regularly on large pieces of data.
The offending line is Py_DECREF(self->readResult) in compressoriterator.c. For input data passed in as buffer objects, this pointer (self->readResult) is never not-null.
I've been unable to create a small re-producer which hits these conditions:
if (self->input.pos < self->input.size) {
...
if (self->input.pos == self->input.size) {
...
Py_DECREF(self->readResult);
...
}
But I'll keep trying.
- Lenguaje dominante
- C
- Estrellas
- 641
- Forks
- 117
- Merge medio
- 1 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de indygreg/python-zstandard
-
`multi_decompress_to_buffer([])` terminates the process with SIGFPEPosiblemente ocupada @mikamikasuki la tomó hace 7 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
indygreg/python-zstandard#335 ·
Los mantenedores suelen responder en 2 días
-
Silent data-correctness bug: `readinto()` / `readinto1()` on `stream_reader` return `tell() == 0` after successful readsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
indygreg/python-zstandard#295 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 64/100
indygreg/python-zstandard#345 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
indygreg/python-zstandard#334 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 3/5 1-2 días Aptitud para principiantes 54/100
indygreg/python-zstandard#333 ·
Los mantenedores suelen responder en 2 días
Todos los issues de indygreg/python-zstandard
Issues similares
-
Warps 4 unit tests (raalloc)Abiertoenhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Policy query leaks host primary block (BSL_PrimaryBlock_deinit skipped) on two early-exit pathsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
NASA-AMMOS/BSL#355 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
arancormonk/dsd-neo#660 ·
Los mantenedores suelen responder en 1 día
-
[Bug]: remote-ls --updates reports up-to-date OCI refs because it ignores deployed Alt-idPosiblemente ocupada @Joao-kouznetz la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día