diff options
author | Tomas Kukosa <tkeksa@gmail.com> | 2021-05-03 15:31:09 +0200 |
---|---|---|
committer | Tomas Kukosa <kukosa@herman.cz> | 2021-05-03 15:35:09 +0200 |
commit | a145ed60710bd7558299ef44cfb9c7662efc494d (patch) | |
tree | 7f2af56d2aa9e1978e5df85833dc972feef3f218 | |
parent | 249eb294b303fd860e77cf085451246fb2e4caf8 (diff) |
JSON NaN value supported
Change-Id: I0096d047fb6eab882ad943090f5c4a6c1864671a
-rw-r--r-- | epan/dissectors/packet-json.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/epan/dissectors/packet-json.c b/epan/dissectors/packet-json.c index b8a65e8efc..19559f38ed 100644 --- a/epan/dissectors/packet-json.c +++ b/epan/dissectors/packet-json.c @@ -85,6 +85,9 @@ static header_field_info hfi_json_value_null JSON_HFI_INIT = static header_field_info hfi_json_value_true JSON_HFI_INIT = { "True value", "json.value.true", FT_NONE, BASE_NONE, NULL, 0x00, "JSON true value", HFILL }; +static header_field_info hfi_json_value_nan JSON_HFI_INIT = + { "NaN value", "json.value.nan", FT_NONE, BASE_NONE, NULL, 0x00, "JSON NaN value", HFILL }; + /* HFIs below are used only for compact form display */ static header_field_info hfi_json_array_compact JSON_HFI_INIT = { "Array compact", "json.array_compact", FT_NONE, BASE_NONE, NULL, 0x00, "JSON array compact", HFILL }; @@ -135,6 +138,7 @@ typedef enum { JSON_TOKEN_FALSE, JSON_TOKEN_NULL, JSON_TOKEN_TRUE, + JSON_TOKEN_NAN, /* not really tokens ... */ JSON_OBJECT, @@ -649,6 +653,10 @@ static void after_value(void *tvbparse_data, const void *wanted_data _U_, tvbpar proto_tree_add_item(tree, &hfi_json_value_true, tok->tvb, tok->offset, tok->len, ENC_NA); break; + case JSON_TOKEN_NAN: + proto_tree_add_item(tree, &hfi_json_value_nan, tok->tvb, tok->offset, tok->len, ENC_NA); + break; + case JSON_OBJECT: case JSON_ARRAY: /* already added */ @@ -754,6 +762,7 @@ static void init_json_parser(void) { tvbparse_string(JSON_TOKEN_FALSE, "false", NULL, NULL, NULL), tvbparse_string(JSON_TOKEN_NULL, "null", NULL, NULL, NULL), tvbparse_string(JSON_TOKEN_TRUE, "true", NULL, NULL, NULL), + tvbparse_string(JSON_TOKEN_NAN, "NaN", NULL, NULL, NULL), &_want_object, &_want_array, want_number, @@ -916,6 +925,7 @@ proto_register_json(void) &hfi_json_value_false, &hfi_json_value_null, &hfi_json_value_true, + &hfi_json_value_nan, &hfi_json_array_compact, &hfi_json_object_compact, &hfi_json_member_compact, |