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

internal/repository: Fix LoadBlob + fuzz test #3789

Merged
merged 1 commit into from
Jun 6, 2022

Conversation

greatroar
Copy link
Contributor

@greatroar greatroar commented Jun 6, 2022

What does this PR change? What problem does it solve?

When given a buf that is big enough for a compressed blob but not its decompressed contents, the copy at the end of LoadBlob would skip the last part of the contents.

The appended fuzz test is a bit different from the one that actually found the bug, but it reproduces it. It's shorter and doesn't need to know bloblru internals.

Was the change previously discussed in an issue or on the forum?

Fixes #3783.

Checklist

  • I have read the contribution guidelines.
  • I have enabled maintainer edits.
  • I have added tests for all code changes.
  • I have added documentation for relevant changes (in the manual).
  • There's a new file in changelog/unreleased/ that describes the changes for our users (see template).
  • I have run gofmt on the code in all commits.
  • All commit messages are formatted in the same style as the other commits in the repo.
  • I'm done! This pull request is ready for review.

@greatroar greatroar force-pushed the fix-loadblob branch 2 times, most recently from 6bb8910 to 1fa3f77 Compare June 6, 2022 14:37
@greatroar
Copy link
Contributor Author

The Windows test failure is golang/go#52268...

When given a buf that is big enough for a compressed blob but not its
decompressed contents, the copy at the end of LoadBlob would skip the
last part of the contents.

Fixes restic#3783.
@greatroar
Copy link
Contributor Author

Fixed.

Copy link
Member

@fd0 fd0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks!

@fd0 fd0 merged commit 07114cc into restic:master Jun 6, 2022
@greatroar greatroar deleted the fix-loadblob branch June 6, 2022 19:51
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.

Compression leads to content mismatch after restore!
2 participants