From 22ec79f2349dddc0be0d651f38ce03e8963fa23b Mon Sep 17 00:00:00 2001 From: fengzero Date: Wed, 24 Jun 2026 02:21:49 +0000 Subject: [PATCH] return error before add tags --- src/adapter/adapter.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index b08c9f57..8356009c 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -1629,6 +1629,18 @@ static int adapter_loop(enum neu_event_io_type type, int fd, void *usr_data) neu_resp_add_tag_result(&resp, 0, NEU_ERR_GROUP_NOT_ALLOW); } + if (resp.error != 0 || resp.results != NULL || resp.index != 0) { + for (uint16_t i = 0; i < cmd->n_tag; i++) { + neu_tag_fini(&cmd->tags[i]); + } + neu_msg_exchange(header); + header->type = NEU_RESP_ADD_TAG; + free(cmd->tags); + dedup_add_tag_results_by_index(&resp); + reply(adapter, header, &resp); + break; + } + int ret = neu_adapter_driver_try_add_tag((neu_adapter_driver_t *) adapter, cmd->group, cmd->tags, cmd->n_tag);