GNU bug report logs -
#30794
Cannot produce backslash through hexadecimal - sed (GNU sed) 4.2.2
Previous Next
Reported by: 0xddaa <at> gmail.com
Date: Tue, 13 Mar 2018 15:26:01 UTC
Severity: normal
Done: Jim Meyering <jim <at> meyering.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Hi,
I use sed to modify the field of size in file header for some binaries, and
I found it will failed when the file size included *\x5c* (backslash) after
converted into hexadecimal.
There is the Proof-of-Concept:
# echo z | sed 's/z/\x5c/' # \x5c == '\'
\ # success
# echo z | sed 's/z/\x5c\x61/'
a # backslash is gone
According the manual, *\xxx* should produce an ascii character. sed should
not treat *\x5c* as an escape symbol.
I also try the replacement with '&' and it's work fine:
# echo z | sed 's/z/\x26\x61/' # \x26 == '&'
&a // replace to &
# echo z | sed 's/z/&\x61/'
za // execute & feature
I try to fix the problem and I hope it will be useful. Sorry for my bad
English.
https://github.com/0xddaa/sed/commit/723fa224c771ecd16913aea8117aa917877bbd38
Sincerely,
ddaa
[Message part 2 (text/html, inline)]
This bug report was last modified 7 years and 131 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.