Skip to content
This repository was archived by the owner on Aug 10, 2022. It is now read-only.

Add PyBytes_FromStringAndSize to allow strings with NUL characters to be processed #31

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

akrennmair
Copy link

What does this PR do?

It adds a wrapper function for C.PyBytes_FromStringAndSize that explicitly uses the Go string's length. This allows to correctly turn Go strings into Python bytes objects even when they contain NUL characters.

Motivation

I wrote code that receives binary protobuf messages and hands them over to python code that in turn parses it into a python object and then processes the message. I noticed that when I used python3.PyBytes_FromString to turn the binary message into a python bytes object, it got truncated at NUL characters, which caused failures when decoding. Upon closer inspection, I noticed that this was inherent in how PyBytes_FromString worked, so I created this PR to fix this shortcoming.

Additional Notes

None.

…o that strings with NUL bytes in them can also be processed.
@christian-korneck
Copy link
Contributor

as this project will be archived soon, feel free to submit your PR to our new community fork go-python/cpy3 and we'll review it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants