print: Escape backslash in PrintRawUriFp

PrintRawUriFp does not properly escape backslash. This causes confusion
between a \ character and an hex-encoded character. PrintRawUriBuffer,
instead, correctly does backslash-encoding.
Adding proper escaping of backslash to PrintRawUriFp.
pull/3157/head
Maurizio Abba 7 years ago committed by Victor Julien
parent ec62eedc87
commit 7266c12b4f

@ -99,8 +99,13 @@ void PrintRawUriFp(FILE *fp, uint8_t *buf, uint32_t buflen)
for (u = 0; u < buflen; u++) {
if (isprint(buf[u]) && buf[u] != '\"') {
PrintBufferData(nbuf, &offset, BUFFER_LENGTH,
"%c", buf[u]);
if (buf[u] == '\\') {
PrintBufferData(nbuf, &offset, BUFFER_LENGTH,
"\\\\");
} else {
PrintBufferData(nbuf, &offset, BUFFER_LENGTH,
"%c", buf[u]);
}
} else {
PrintBufferData(nbuf, &offset, BUFFER_LENGTH,
"\\x%02X", buf[u]);

Loading…
Cancel
Save