diff mbox series

[iproute2] json: do not escape single quotes

Message ID 068673c301bfc5c5d48e06301a2086285a199731.1667497007.git.aclaudi@redhat.com (mailing list archive)
State Accepted
Commit 49c63bc775d610c3dfd3db0d6501ac29c519967f
Delegated to: David Ahern
Headers show
Series [iproute2] json: do not escape single quotes | expand

Checks

Context Check Description
netdev/tree_selection success Not a local patch

Commit Message

Andrea Claudi Nov. 3, 2022, 5:39 p.m. UTC
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: <BROADCAST,NOARP> 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 <aclaudi@redhat.com>
---
 lib/json_writer.c | 3 ---
 1 file changed, 3 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 3, 2022, 6:40 p.m. UTC | #1
Hello:

This patch was applied to iproute2/iproute2.git (main)
by Stephen Hemminger <stephen@networkplumber.org>:

On Thu,  3 Nov 2022 18:39:25 +0100 you wrote:
> 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: <BROADCAST,NOARP> 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
> 
> [...]

Here is the summary with links:
  - [iproute2] json: do not escape single quotes
    https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=49c63bc775d6

You are awesome, thank you!
diff mbox series

Patch

diff --git a/lib/json_writer.c b/lib/json_writer.c
index 88c5eb88..2f3936c2 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);
 		}