[LTP] [PATCH v3 1/1] docparse: Escape backslash, tab and double quote in JSON
Petr Vorel
pvorel@suse.cz
Thu May 6 09:50:54 CEST 2021
Hi Cyril,
...
> Also does this even escape newlines? If you write "\n" in C it's stored
> in memory as [0x0a, 0x00], no actual \ are stored in the string. What
> the '\\' case does it to escape literal backslash i.e. "\\" which is
> stored as [0x5c, 0x00]. Looking at JSON specification anything that is
> in ascii before 0x20 (space) is invalid character in a JSON string. I
> guess that the safest to write strings would be:
> ...
> default:
> if (*str >= 20)
> putc(*str, f);
> }
Actually, space 20 is hex, it should be 0x20 or 32.
https://tools.ietf.org/html/rfc8259#page-9
unescaped = %x20-21 / %x23-5B / %x5D-10FFFF
BTW preparing v4, it should definitely go to the release (or we need to fix
formatting of c39b29f0a ("bpf: Check truncation on 32bit div/mod by zero")).
Kind regards,
Petr
> And we would have to add escape at least for '\n' the same way we have
> for '\t' in the switch.
More information about the ltp
mailing list