Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limit number of rewinds #773

Merged
merged 1 commit into from
Dec 11, 2024
Merged

Limit number of rewinds #773

merged 1 commit into from
Dec 11, 2024

Conversation

ktmf01
Copy link
Collaborator

@ktmf01 ktmf01 commented Dec 10, 2024

This should reduce the number of timeouts. In case the decoder keeps rewinding, check 4 of the 8 CRC8 bits. If they match, keep rewinding.

With this approach, the fuzzer doesn't get 'faster' then plain libFLAC, but fuzzing isn't affected too much by the CRC8 check.

Time will tell whether the fuzzer finds an input triggering repeating rewinds, expensive processing ánd those 4 CRC8 bits check out. If it finds such an input, more CRC8 bits need to be checked.

This should reduce the number of timeouts. In case the decoder
keeps rewinding, check 4 of the 8 CRC8 bits. If they match, keep
rewinding.

With this approach, the fuzzer doesn't get 'faster' then plain
libFLAC, but fuzzing isn't affected too much by the CRC8 check.

Time will tell whether the fuzzer finds an input triggering
repeating rewinds, expensive processing ánd those 4 CRC8 bits
check out. If it finds such an input, more CRC8 bits need to be
checked.
@ktmf01 ktmf01 merged commit c47beb1 into xiph:master Dec 11, 2024
16 checks passed
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