On Tue, Aug 04, 2020 at 02:13:01PM +0200, Jose M. Guisado wrote: > Hi Pablo, sorry about the formatting issues. > > One thing about your suggestion: > > On 4/8/20 13:05, Pablo Neira Ayuso wrote: > > if (!ctx->json_root) > > return; > > Checking uniquely for the absence of json_root is not enough as > json_echo may have been initialized. In essence, the case the > patch is fixing is when json_root is null but json_echo is not, > to denote that we want json echo output but have not read json > from input. Ah, indeed, sorry. Then, probably: if (!ctx->json_root) { if (!ctx->json_echo) return; ctx->json_echo = json_pack("{s:o}", "nftables", ctx->json_echo); json_dumpf(ctx->json_echo, ctx->output.output_fp, JSON_PRESERVE_ORDER); json_decref(ctx->json_echo); ctx->json_echo = NULL; fprintf(ctx->output.output_fp, "\n"); fflush(ctx->output.output_fp); } else { json_dumpf(ctx->json_root, ctx->output.output_fp, JSON_PRESERVE_ORDER); json_cmd_assoc_free(); json_decref(ctx->json_root); ctx->json_root = NULL; }