From 99d1b724b6e4fb9faa8b53eaa4e8174a4384fb4e Mon Sep 17 00:00:00 2001 From: eeff <33566201+eeff@users.noreply.github.com> Date: Tue, 24 May 2022 17:55:28 +0800 Subject: [PATCH] fix: string equality comparison using strcmp --- src/adapter/adapter.c | 7 +++--- src/base/neu_plugin_common.c | 44 ++++++++++++++++++------------------ src/core/neu_manager.c | 5 ++-- src/persist/persist.c | 2 +- src/utils/neu_jwt.c | 3 +-- 5 files changed, 29 insertions(+), 32 deletions(-) diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index 74b870e8..486e85aa 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -1894,8 +1894,7 @@ int neu_adapter_start(neu_adapter_t *adapter) switch (adapter->state) { case ADAPTER_STATE_IDLE: case ADAPTER_STATE_INIT: - if (strncmp(adapter->plugin_info.module->module_name, "ekuiper", - strlen("ekuiper")) != 0) { + if (strcmp(adapter->plugin_info.module->module_name, "ekuiper") != 0) { error = NEU_ERR_NODE_NOT_READY; } break; @@ -2084,7 +2083,7 @@ void neu_adapter_add_sub_grp_config(neu_adapter_t * adapter, neu_sub_grp_config_t *sgc = (neu_sub_grp_config_t *) iterator_get(&iter); if (sgc->node_id == node_id && - strncmp(name, sgc->group_config_name, strlen(name)) == 0) { + strcmp(name, sgc->group_config_name) == 0) { find = true; break; } @@ -2114,7 +2113,7 @@ void neu_adapter_del_sub_grp_config(neu_adapter_t * adapter, neu_sub_grp_config_t *sgc = (neu_sub_grp_config_t *) iterator_get(&iter); if (sgc->node_id == node_id && - strncmp(name, sgc->group_config_name, strlen(name)) == 0) { + strcmp(name, sgc->group_config_name) == 0) { iterator_erase(&adapter->sub_grp_configs, &iter); break; diff --git a/src/base/neu_plugin_common.c b/src/base/neu_plugin_common.c index 972625b2..4c261006 100644 --- a/src/base/neu_plugin_common.c +++ b/src/base/neu_plugin_common.c @@ -28,27 +28,27 @@ #define NEU_SELF_NODE_NAME_UNKNOWN "unknown-adapter" -#define PLUGIN_CALL_CMD(plugin, type, req_buff, resp_struct, func) \ - { \ - neu_request_t cmd = { 0 }; \ - neu_response_t * result = NULL; \ - neu_plugin_common_t *plugin_common = \ - neu_plugin_to_plugin_common(plugin); \ - cmd.req_type = (type); \ - cmd.req_id = neu_plugin_get_event_id(plugin); \ - cmd.buf = (void *) &(req_buff); \ - cmd.buf_len = sizeof(req_buff); \ - if (plugin_common->adapter_callbacks->command( \ - plugin_common->adapter, &(cmd), &(result)) == 0) { \ - assert((result)->buf_len == sizeof(resp_struct)); \ - resp_struct *resp = NULL; \ - resp = (resp_struct *) (result)->buf; \ - { func }; \ - if (strncmp("intptr_t", #resp_struct, strlen("intptr_t")) != 0) { \ - free(resp); \ - } \ - free(result); \ - } \ +#define PLUGIN_CALL_CMD(plugin, type, req_buff, resp_struct, func) \ + { \ + neu_request_t cmd = { 0 }; \ + neu_response_t * result = NULL; \ + neu_plugin_common_t *plugin_common = \ + neu_plugin_to_plugin_common(plugin); \ + cmd.req_type = (type); \ + cmd.req_id = neu_plugin_get_event_id(plugin); \ + cmd.buf = (void *) &(req_buff); \ + cmd.buf_len = sizeof(req_buff); \ + if (plugin_common->adapter_callbacks->command( \ + plugin_common->adapter, &(cmd), &(result)) == 0) { \ + assert((result)->buf_len == sizeof(resp_struct)); \ + resp_struct *resp = NULL; \ + resp = (resp_struct *) (result)->buf; \ + { func }; \ + if (strcmp("intptr_t", #resp_struct) != 0) { \ + free(resp); \ + } \ + free(result); \ + } \ } #define PLUGIN_SEND_CMD(plugin, type, req_buff, event_id) \ @@ -490,7 +490,7 @@ neu_taggrp_config_t *neu_system_ref_group_config(neu_plugin_t *plugin, { neu_taggrp_config_t *config = *(neu_taggrp_config_t **) iterator_get(&iter); - if (strncmp(neu_taggrp_cfg_get_name(config), name, strlen(name)) == 0) { + if (strcmp(neu_taggrp_cfg_get_name(config), name) == 0) { find_config = config; break; } diff --git a/src/core/neu_manager.c b/src/core/neu_manager.c index 45ab3fc6..4325d2f6 100644 --- a/src/core/neu_manager.c +++ b/src/core/neu_manager.c @@ -850,9 +850,8 @@ static void manager_loop(void *arg) log_info("Reply pong to pipe: %d", msg_pipe); nng_sendmsg(manager_bind->mng_sock, out_msg, 0); } - if (0 == - strncmp(DEFAULT_PERSIST_ADAPTER_NAME, buf_ptr, - msg_get_buf_len(pay_msg))) { + // buf_ptr contains NULL terminated adapter name + if (0 == strcmp(DEFAULT_PERSIST_ADAPTER_NAME, buf_ptr)) { msg_size = msg_inplace_data_get_size(0); rv = nng_msg_alloc(&out_msg, msg_size); message_t *msg_ptr = (message_t *) nng_msg_body(out_msg); diff --git a/src/persist/persist.c b/src/persist/persist.c index 3672f707..44ec173e 100644 --- a/src/persist/persist.c +++ b/src/persist/persist.c @@ -53,7 +53,7 @@ static inline bool ends_with(const char *str, const char *suffix) { size_t m = strlen(str); size_t n = strlen(suffix); - return m >= n && !strncmp(str + m - n, suffix, n); + return m >= n && !strcmp(str + m - n, suffix); } typedef struct neu_persister { diff --git a/src/utils/neu_jwt.c b/src/utils/neu_jwt.c index 1f970441..7463dfea 100644 --- a/src/utils/neu_jwt.c +++ b/src/utils/neu_jwt.c @@ -109,8 +109,7 @@ int neu_jwt_init(char *dir_path) continue; } - if (strncmp("neuron.key", (char *) ptr->d_name, strlen("neuron.key")) == - 0) { + if (strcmp("neuron.key", (char *) ptr->d_name) == 0) { content = load_key(dir_path, (char *) ptr->d_name); assert(content != NULL);