From 49c63bc775d610c3dfd3db0d6501ac29c519967f Mon Sep 17 00:00:00 2001 From: Andrea Claudi Date: Thu, 3 Nov 2022 18:39:25 +0100 Subject: [PATCH] json: do not escape single quotes ECMA-404 standard does not include single quote character among the json escape sequences. This means single quotes does not need to be escaped. Indeed the single quote escape produces an invalid json output: $ ip link add "john's" type dummy $ ip link show "john's" 9: john's: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether c6:8e:53:f6:a3:4b brd ff:ff:ff:ff:ff:ff $ ip -j link | jq . parse error: Invalid escape at line 1, column 765 This can be fixed removing the single quote escape in jsonw_puts. With this patch in place: $ ip -j link | jq .[].ifname "lo" "john's" Fixes: fcc16c2287bf ("provide common json output formatter") Signed-off-by: Andrea Claudi --- lib/json_writer.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/json_writer.c b/lib/json_writer.c index 88c5eb888..2f3936c28 100644 --- a/lib/json_writer.c +++ b/lib/json_writer.c @@ -80,9 +80,6 @@ static void jsonw_puts(json_writer_t *self, const char *str) case '"': fputs("\\\"", self->out); break; - case '\'': - fputs("\\\'", self->out); - break; default: putc(*str, self->out); } -- 2.47.3