etmem/0023-accept-review-advise.patch
YangXin ce6533c4bd Update etmem.
Signed-off-by: YangXin <245051644@qq.com>
2021-09-30 22:57:41 +08:00

96 lines
3.5 KiB
Diff

From 0cf348d3f3288237855b7e05b0500c886ee98be0 Mon Sep 17 00:00:00 2001
From: Kemeng Shi <shikemeng@huawei.com>
Date: Sat, 8 May 2021 11:46:55 +0800
Subject: [PATCH 23/50] accept review advise
Signed-off-by: Kemeng Shi <shikemeng@huawei.com>
---
inc/etmemd_inc/etmemd_engine.h | 1 +
.../{etmem_thirdparty.h => etmemd_thirdparty_export.h} | 4 ++--
src/etmemd_src/etmemd_project.c | 9 ++++++++-
src/etmemd_src/etmemd_thirdparty.c | 6 ++----
4 files changed, 13 insertions(+), 7 deletions(-)
rename inc/etmemd_inc/{etmem_thirdparty.h => etmemd_thirdparty_export.h} (93%)
diff --git a/inc/etmemd_inc/etmemd_engine.h b/inc/etmemd_inc/etmemd_engine.h
index b513ae8..0134d21 100644
--- a/inc/etmemd_inc/etmemd_engine.h
+++ b/inc/etmemd_inc/etmemd_engine.h
@@ -16,6 +16,7 @@
#ifndef ETMEMD_ENGINE_H
#define ETMEMD_ENGINE_H
+#include <glib.h>
#include "etmemd.h"
#include "etmemd_task.h"
#include "etmemd_engine_exp.h"
diff --git a/inc/etmemd_inc/etmem_thirdparty.h b/inc/etmemd_inc/etmemd_thirdparty_export.h
similarity index 93%
rename from inc/etmemd_inc/etmem_thirdparty.h
rename to inc/etmemd_inc/etmemd_thirdparty_export.h
index 0e128ce..9d145ce 100644
--- a/inc/etmemd_inc/etmem_thirdparty.h
+++ b/inc/etmemd_inc/etmemd_thirdparty_export.h
@@ -13,8 +13,8 @@
* Description: This is a header file of the function declaration for user defined thirdparty engine.
******************************************************************************/
-#ifndef ETMEM_THIRDPARTY_H
-#define ETMEM_THIRDPARTY_H
+#ifndef ETMEM_THIRDPARTY_EXPORT_H
+#define ETMEM_THIRDPARTY_EXPORT_H
#include "etmemd_project_exp.h"
#include "etmemd_engine_exp.h"
diff --git a/src/etmemd_src/etmemd_project.c b/src/etmemd_src/etmemd_project.c
index 885c86e..deeaf5e 100644
--- a/src/etmemd_src/etmemd_project.c
+++ b/src/etmemd_src/etmemd_project.c
@@ -33,6 +33,8 @@
#define MAX_SLEEP_VALUE 1200
#define MAX_LOOP_VALUE 120
+#define MAX_OBJ_NAME_LEN 64
+
static SLIST_HEAD(project_list, project) g_projects = SLIST_HEAD_INITIALIZER(g_projects);
static struct project *get_proj_by_name(const char *name)
@@ -95,7 +97,12 @@ static enum opt_result get_name_by_key(GKeyFile *config, const char *group_name,
*name = g_key_file_get_string(config, group_name, key, NULL);
if (*name == NULL) {
etmemd_log(ETMEMD_LOG_ERR, "get value of key %s from group %s fail\n", key, group_name);
- return OPT_INTER_ERR;
+ return OPT_INVAL;
+ }
+ if (strlen(*name) > MAX_OBJ_NAME_LEN) {
+ etmemd_log(ETMEMD_LOG_ERR, "name len should not be greater than %d\n", MAX_OBJ_NAME_LEN);
+ free(*name);
+ return OPT_INVAL;
}
return OPT_SUCCESS;
diff --git a/src/etmemd_src/etmemd_thirdparty.c b/src/etmemd_src/etmemd_thirdparty.c
index 1a05512..0fd2a70 100644
--- a/src/etmemd_src/etmemd_thirdparty.c
+++ b/src/etmemd_src/etmemd_thirdparty.c
@@ -85,14 +85,12 @@ static int set_engine_ops(struct engine *eng, struct thirdparty_params *params)
char *err = NULL;
handler = dlopen(params->libname, RTLD_NOW | RTLD_LOCAL);
- if (handler == NULL) {
- err = dlerror();
+ err = dlerror();
+ if (err != NULL && handler == NULL) {
etmemd_log(ETMEMD_LOG_ERR, "load library %s fail with error: %s\n", params->libname, err);
return -1;
}
- /* Clear error */
- dlerror();
ops = dlsym(handler, params->ops_name);
err = dlerror();
if (err != NULL) {
--
2.27.0