facebook / facebook/zstd

COVER_selectDict() uses stale customDictContentEnd after ZDICT_finalizeDictionary modifies dictContentSize

Abierto
#4,750 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C
Estrellas
27.9k
Forks
2.6k
Merge medio
1 d 3 h
PR fusionados (30 d)
8

Descripción

**Describe the bug**
In `lib/dictBuilder/cover.c`, `COVER_selectDict()` computes `customDictContentEnd` at line 1055 based on the initial `dictContentSize`,Then at line 1069, `ZDICT_finalizeDictionary()` is called and its **return value** overwrites `dictContentSize`,ZDICT_finalizeDictionary()` returns the actual dictionary size after adding the header, which can differ from the input `dictContentSize`. However, `customDictContentEnd` is **never updated** to reflect the new `dictContentSize`.

**To Reproduce**
The currently public API cannot easily trigger this bug, but the bug does exist in the code logic.

**Expected behavior**
Update `customDictContentEnd` after `ZDICT_finalizeDictionary()` modifies `dictContentSize`.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.