Proposed a fix handling negative values on read and write#24
Open
lombare wants to merge 2 commits intogoburrow:masterfrom
Open
Proposed a fix handling negative values on read and write#24lombare wants to merge 2 commits intogoburrow:masterfrom
lombare wants to merge 2 commits intogoburrow:masterfrom
Conversation
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.
Hello,
I'm currently encountering a compatibility issue between this library and Go's standard library bufio.Reader.
When the Read method returns a negative n, bufio.Reader panics.
It is common in C (and expected) for read/write functions to return a negative value to signal an error. However, in Go we have a separate error return value for this purpose, and the io.Reader contract requires n to be non-negative (specifically 0 <= n <= len(p)).
To prevent the panic and align with Go conventions, I added a fix that ensures n is never negative by clamping it to a minimum of 0 for both Read and Write methods.
Here are some references on this matter :
Thank you in advance for your time and library !