The size field in ct_expect struct should be parsed as json integer and not as
a string. Also, l3proto field is parsed as string and not as an integer. That
was causing a segmentation fault when exporting "ct expect" objects as json.

Fixes: 1dd08fcfa07a ("src: add ct expectations support")
Signed-off-by: Fernando Fernandez Mancera <[email protected]>
---
 src/json.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/json.c b/src/json.c
index 55ce053..7aa4b69 100644
--- a/src/json.c
+++ b/src/json.c
@@ -333,7 +333,7 @@ static json_t *obj_print_json(const struct obj *obj)
                json_decref(tmp);
                break;
        case NFT_OBJECT_CT_EXPECT:
-               tmp = json_pack("{s:o, s:I, s:I, s:s, s:I}",
+               tmp = json_pack("{s:o, s:I, s:I, s:I, s:s}",
                                "protocol",
                                proto_name_json(obj->ct_expect.l4proto),
                                "dport", obj->ct_expect.dport,
-- 
2.20.1

Reply via email to