From 4aebd5f1ce838a90837d309c0d61a310a85b9ff7 Mon Sep 17 00:00:00 2001 From: fengzero Date: Thu, 23 Jun 2022 08:06:07 +0000 Subject: [PATCH] check tag name/address len --- ft/resource/error.resource | 3 +++ include/neuron/errcodes.h | 3 +++ src/adapter/driver/driver.c | 24 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/ft/resource/error.resource b/ft/resource/error.resource index a9285880..8e4cbbbf 100644 --- a/ft/resource/error.resource +++ b/ft/resource/error.resource @@ -36,6 +36,9 @@ ${NEU_ERR_TAG_NAME_CONFLICT} 2202 ${NEU_ERR_TAG_ATTRIBUTE_NOT_SUPPORT} 2203 ${NEU_ERR_TAG_TYPE_NOT_SUPPORT} 2204 ${NEU_ERR_TAG_ADDRESS_FORMAT_INVALID} 2205 +${NEU_ERR_TAG_NAME_TOO_LONG} 2206 +${NEU_ERR_TAG_ADDRESS_TOO_LONG} 2207 +${NEU_ERR_TAG_DESCRIPTION_TOO_LONG} 2208 ${NEU_ERR_LIBRARY_NOT_FOUND} 2301 ${NEU_ERR_LIBRARY_INFO_INVALID} 2302 diff --git a/include/neuron/errcodes.h b/include/neuron/errcodes.h index 22d2125d..507926d2 100644 --- a/include/neuron/errcodes.h +++ b/include/neuron/errcodes.h @@ -65,6 +65,9 @@ typedef enum { NEU_ERR_TAG_ATTRIBUTE_NOT_SUPPORT = 2203, NEU_ERR_TAG_TYPE_NOT_SUPPORT = 2204, NEU_ERR_TAG_ADDRESS_FORMAT_INVALID = 2205, + NEU_ERR_TAG_NAME_TOO_LONG = 2206, + NEU_ERR_TAG_ADDRESS_TOO_LONG = 2207, + NEU_ERR_TAG_DESCRIPTION_TOO_LONG = 2208, NEU_ERR_LIBRARY_NOT_FOUND = 2301, NEU_ERR_LIBRARY_INFO_INVALID = 2302, diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index 843d9fa2..c4048b16 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -415,6 +415,18 @@ int neu_adapter_driver_add_tag(neu_adapter_driver_t *driver, const char *group, int ret = NEU_ERR_SUCCESS; group_t *find = NULL; + if (strlen(tag->name) > NEU_TAG_NAME_LEN) { + return NEU_ERR_TAG_NAME_TOO_LONG; + } + + if (strlen(tag->address) > NEU_TAG_ADDRESS_LEN) { + return NEU_ERR_TAG_ADDRESS_TOO_LONG; + } + + if (strlen(tag->description) > NEU_TAG_DESCRIPTION_LEN) { + return NEU_ERR_TAG_DESCRIPTION_TOO_LONG; + } + ret = driver->adapter.module->intf_funs->driver.validate_tag( driver->adapter.plugin, tag); if (ret != NEU_ERR_SUCCESS) { @@ -461,6 +473,18 @@ int neu_adapter_driver_update_tag(neu_adapter_driver_t *driver, int ret = NEU_ERR_SUCCESS; group_t *find = NULL; + if (strlen(tag->name) > NEU_TAG_NAME_LEN) { + return NEU_ERR_TAG_NAME_TOO_LONG; + } + + if (strlen(tag->address) > NEU_TAG_ADDRESS_LEN) { + return NEU_ERR_TAG_ADDRESS_TOO_LONG; + } + + if (strlen(tag->description) > NEU_TAG_DESCRIPTION_LEN) { + return NEU_ERR_TAG_DESCRIPTION_TOO_LONG; + } + ret = driver->adapter.module->intf_funs->driver.validate_tag( driver->adapter.plugin, tag); if (ret != NEU_ERR_SUCCESS) {