Skip to content

Proposed a fix handling negative values on read and write#24

Open
lombare wants to merge 2 commits intogoburrow:masterfrom
lombare:fix/negative-read-count
Open

Proposed a fix handling negative values on read and write#24
lombare wants to merge 2 commits intogoburrow:masterfrom
lombare:fix/negative-read-count

Conversation

@lombare
Copy link

@lombare lombare commented Feb 4, 2026

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 !

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