ZstdDecompressor.copy_stream() crashes when the source's read() returns str
Los mantenedores suelen responder en 3 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 55/100
Línea de trabajo
The crash is in ZstdDecompressor.copy_stream(), the method on the decompressor class in the C extension. Run the reproducer first to confirm the SIGSEGV, then look at where the value returned by the source's read() is used without a bytes type check. Done means the reproducer raises TypeError instead of crashing, and a regression test covers a text-returning source.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
If the source passed to copy_stream() returns str instead of bytes from read(), e.g., a file opened in text mode, the interpreter crashes with SIGSEGV instead of raising TypeError.
Environment
- zstandard 0.25.0
- Python 3.13.5
Reproducer
import io
import zstandard
class Source:
def __init__(self, chunk):
self.chunks = [chunk]
def read(self, size):
return self.chunks.pop() if self.chunks else b""
zstandard.ZstdDecompressor().copy_stream(Source("data"), io.BytesIO())
Segmentation fault (core dumped)
- Lenguaje dominante
- C
- Estrellas
- 645
- Forks
- 124
- Merge medio
- 2 d 20 h
- PR fusionados (30 d)
- 8
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 36 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
indygreg/python-zstandard#335 ·
Los mantenedores suelen responder en 3 días
-
Silent data-correctness bug: `readinto()` / `readinto1()` on `stream_reader` return `tell() == 0` after successful readsPosiblemente ocupada @CAOShurong la tomó hace 29 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
indygreg/python-zstandard#295 ·
Los mantenedores suelen responder en 3 días
-
Stream writers silently lose output when a destination accepts a short writeQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
indygreg/python-zstandard#370 · 1 comentario ·
Los mantenedores suelen responder en 3 días
-
CFFI backend: crash when ZstdDecompressor instances share a ZstdCompressionDictPosiblemente ocupada @pylaterreur la tomó hace 21 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
indygreg/python-zstandard#361 ·
Los mantenedores suelen responder en 3 días
-
Python 3.15 wheelsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
indygreg/python-zstandard#354 · 2 comentarios · 10 reacciones ·
Los mantenedores suelen responder en 3 días
Todos los issues de indygreg/python-zstandard
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
micropython/micropython#19906 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 10 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sk3llo/ffmpeg_kit_flutter#176 ·