aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Kukosa <tkeksa@gmail.com>2021-05-03 15:31:09 +0200
committerTomas Kukosa <kukosa@herman.cz>2021-05-03 15:35:09 +0200
commita145ed60710bd7558299ef44cfb9c7662efc494d (patch)
tree7f2af56d2aa9e1978e5df85833dc972feef3f218
parent249eb294b303fd860e77cf085451246fb2e4caf8 (diff)
JSON NaN value supported
-rw-r--r--epan/dissectors/packet-json.c10
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,