Repository navigation
LZ4 block header parsing cleanup and additional regression tests - #291
Merged
Merged
Conversation
Those tests otherwise failed on a coverage build.
For almost any reason, but particularly if the userdata initialization failed. Such a failure is pretty catastrophic anyways, but better to handle it cleanly than just crash. This was caught while adding tests of all the LZ4 header read failure modes in order to improve coverage, though almost any one of those tests catches this bug.
This simplifies matters a lot by not maintaining some state for the header parsing directly on the lz4 userdata. Instead just a simple function that parses an asdf_lz4_block_header_t in-place at the current position (0, or after advancing the position after reading one block).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Resolves #194, adding several new tests that bring coverage for
lz4.c> 90%. In the process caught a small bug (corner case) of a crash when encountering invalid LZ4 block data.AI Disclosure
No AI used.