96 lines
3.5 KiB
Diff
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
|
|
|