From 12fdaf7e3efdab1f30f40154ee7db3f25cbb0add Mon Sep 17 00:00:00 2001 From: "Jose M. Guisado Gomez" Date: Sun, 6 Dec 2020 11:12:33 +0100 Subject: monitor: add assignment check for json_echo When --echo and --json is specified and native syntax is read, only the last instruction is printed. This happens because the reference to the json_echo is reassigned each time netlink_echo_callback is executed for an instruction to be echoed. Add an assignment check for json_echo to avoid reassigning it. Fixes: cb7e02f44d6a (src: enable json echo output when reading native syntax) Signed-off-by: Jose M. Guisado Gomez Signed-off-by: Pablo Neira Ayuso --- src/monitor.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/monitor.c b/src/monitor.c index a733a9f0..2b5325ea 100644 --- a/src/monitor.c +++ b/src/monitor.c @@ -939,8 +939,8 @@ int netlink_echo_callback(const struct nlmsghdr *nlh, void *data) if (nft_output_json(&nft->output)) { if (nft->json_root) return json_events_cb(nlh, &echo_monh); - - json_alloc_echo(nft); + if (!nft->json_echo) + json_alloc_echo(nft); echo_monh.format = NFTNL_OUTPUT_JSON; } -- cgit v1.2.3