From 7266c12b4fefa68782e46437ac58206c5c5c40f2 Mon Sep 17 00:00:00 2001 From: Maurizio Abba Date: Thu, 11 Jan 2018 15:21:06 +0000 Subject: [PATCH] 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. --- src/util-print.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/util-print.c b/src/util-print.c index 544728b6fb..f654f4b5c0 100644 --- a/src/util-print.c +++ b/src/util-print.c @@ -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]);