canary: remove lower bound limit on length #87
Merged
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.
In reference to the patch in #86, the actual issue is deeper. When we set a lower limit to the length of the canary, you need more than a single page to store the reference. It's not clean. The solution in this PR is to remove the lower limit so the canary can grow from length zero (when
len(data)
equals the page size) up to one less than the page size (whenlen(data)
equals 1).When the canary has a length of zero, this is fine as the data is up against the lower guard page. Otherwise, with some values, the canary will be small but this is a reasonable trade-off.