Skip to content

Conversation

@lovromazgon
Copy link

This PR ensures that a new byte slice is created in bytesNativeFromBinary instead of reusing the same byte slice as the input buffer. It ensures that the created slice is referencing its own underlying array and makes any changes of that field safe (i.e. the changes won't affect the input buffer or any other fields in the decoded value).

Fixes #269.

Nepomuk5665 added a commit to Nepomuk5665/goavro that referenced this pull request Jan 23, 2026
When decoding binary fixed types, the returned byte slice was a subslice
of the input buffer. This meant all decoded fixed values shared the same
underlying array, causing unexpected behavior when appending to these
slices - modifications could affect other decoded values or the original
input buffer.

This is the same issue as linkedin#269 but for the fixed type. PR linkedin#270 fixes
the bytes type but does not address the fixed type which has the same
problem.

The fix allocates a new slice and copies the data, ensuring each decoded
fixed value has its own independent backing array.
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.

Decoded bytes use the same underlying array

1 participant