Skip to content

fix(readers): reject truncated gzip streams - #147

Merged
LimiNode merged 3 commits into
mainfrom
fix/truncated-gzip-read
Sep 21, 2026
Merged

LimiNode merged 3 commits into
mainfrom
fix/truncated-gzip-read

Conversation

@LimiNode

Copy link
Copy Markdown
Owner

Summary

  • reject unexpected zlib inflate results and no-progress loops in gzip decompression
  • return an empty result for truncated compressed log files
  • add a regression test through FileLogger::read_log_file() after truncating a valid gzip trailer

Verification

  • gzip-focused tests: 3/3 passed on Windows
  • default C++17 tests: 61/61 passed
  • default C++11 tests: 61/61 passed

Treat unexpected zlib inflate results and no-progress iterations as decompression failures instead of growing the output buffer indefinitely. Add a gzip file-reader regression test covering a truncated trailer.
Execute gzip and zstd file-reader tests in the feature-enabled OTLP job, including the truncated-gzip hang regression with a short CTest timeout.
Use a worker-side generation marker for the asynchronous LogIt benchmark adapter so flush cannot return before queued sink tasks complete. This removes the race seen in the multi-producer benchmark smoke.
@LimiNode
LimiNode merged commit c8eb104 into main Sep 21, 2026
16 checks passed
@LimiNode
LimiNode deleted the fix/truncated-gzip-read branch September 21, 2026 15:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant