Fix for backslashes being replaced by null bytes #61
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.
This PR addresses #46. While testing Sliver, we noticed that the
\
character was being consumed but not printed. Upon further investigation, it looks like backslashes were being replaced by null bytes (\x00
). I tracked it down to theunescapeRunes
function ininputrc/parse.go
.When the sequence of runes has a length of 1, the loop that reads ahead grabs zeroes for
char1
throughchar5
and essentially interprets the sequence as trying to escape a null byte.This PR returns a string representation of the sequence immediately if the length of the sequence is 1 to avoid this.