diff options
| author | wangmenglan <[email protected]> | 2023-05-10 20:06:07 +0800 |
|---|---|---|
| committer | wangmenglan <[email protected]> | 2023-05-10 20:06:54 +0800 |
| commit | 935aa7235e05b508ca7c989c2b54abad45bc2c1f (patch) | |
| tree | 61ad517423eaf879500d3556b0469293c8c561a4 /common/src/tfe_mpack.cpp | |
| parent | 2a55a2be7504a39dd19b4ea2ff2f73c4a0be35f2 (diff) | |
TFE优化解析控制报文,解决mpack只有proxy字段时,解析错误v4.8.11-20230510release-4.9
Diffstat (limited to 'common/src/tfe_mpack.cpp')
| -rw-r--r-- | common/src/tfe_mpack.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/common/src/tfe_mpack.cpp b/common/src/tfe_mpack.cpp index e7f2893..5844f52 100644 --- a/common/src/tfe_mpack.cpp +++ b/common/src/tfe_mpack.cpp @@ -280,7 +280,7 @@ int parse_messagepack(const char* data, size_t length, void *ctx) } params = mpack_node_map_cstr(root, "params"); - if (!mpack_node_is_nil(mpack_node_map_cstr(params, "sce"))) + if (!mpack_node_is_missing(mpack_node_map_str_optional(params, "sce", strlen("sce")))) { sce_map = mpack_node_map_cstr(params, "sce"); if (mpack_node_is_nil(mpack_node_map_cstr(sce_map, "rule_ids"))) @@ -301,7 +301,7 @@ int parse_messagepack(const char* data, size_t length, void *ctx) } } - if (mpack_node_is_nil(mpack_node_map_cstr(params, "proxy"))) + if (mpack_node_is_missing(mpack_node_map_str_optional(params, "proxy", strlen("proxy")))) { TFE_LOG_ERROR(g_default_logger, "%s: unexpected control packet: (proxy no found)", LOG_TAG_CTRLPKT); goto error; |
