path: root/src/monitor.c
diff options
authorJose M. Guisado Gomez <>2020-12-06 11:12:33 +0100
committerPablo Neira Ayuso <>2020-12-08 12:47:04 +0100
commit12fdaf7e3efdab1f30f40154ee7db3f25cbb0add (patch)
treee9a9cd029cfb1fa94ebb75b00fd7ceb82cec3a55 /src/monitor.c
parent3cfb9e4b3e40e0fef18383dd865bb083f9168e95 (diff)
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 <>
Diffstat (limited to 'src/monitor.c')
1 files 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;