From 836750dcc4067117ff4704f85e81b9736698ac45 Mon Sep 17 00:00:00 2001 From: YoungHun Kim Date: Tue, 2 Jun 2020 20:19:16 +0900 Subject: [PATCH] Fix the issue of buffer overflow Change-Id: I4ddd17cebc7afa198740dbee9e7f2ba4ce9905fb --- server/src/muse_server.c | 11 ++++++++++- server/src/muse_server_config.c | 2 ++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/server/src/muse_server.c b/server/src/muse_server.c index eb82663..f04cd32 100644 --- a/server/src/muse_server.c +++ b/server/src/muse_server.c @@ -24,12 +24,18 @@ void muse_server_set_dispatch_timeout(muse_module_h m, int api, int timeout) { muse_return_if_fail(m); + muse_return_if_fail(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt); + muse_return_if_fail(api >= 0 && api < MUSE_DISPATCHER_MAX); + ms_module_set_timeout(m->idx, api, timeout); } int muse_server_get_dispatch_timeout(muse_module_h m, int api) { - muse_return_val_if_fail(m, MUSE_ERR); + muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(api >= 0 && api < MUSE_DISPATCHER_MAX, MM_ERROR_INVALID_ARGUMENT); + return ms_module_get_timeout(m->idx, api); } @@ -38,6 +44,8 @@ int muse_server_module_set_value(muse_module_h m, const char *name, int value) { muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); muse_return_val_if_fail(name, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt, MM_ERROR_INVALID_ARGUMENT); + ms_module_set_dllsym_value(m->idx, name, GINT_TO_POINTER(value)); return MM_ERROR_NONE; } @@ -50,6 +58,7 @@ int muse_server_module_get_value(muse_module_h m, const char *name, int *value) muse_return_val_if_fail(m, MM_ERROR_INVALID_ARGUMENT); muse_return_val_if_fail(name, MM_ERROR_INVALID_ARGUMENT); muse_return_val_if_fail(value, MM_ERROR_INVALID_ARGUMENT); + muse_return_val_if_fail(m->idx >= 0 && m->idx < ms_get_instance()->conf->host_cnt, MM_ERROR_INVALID_ARGUMENT); ret = ms_module_get_dllsym_value(m->idx, name, &ptr); if (ret == MM_ERROR_NONE) diff --git a/server/src/muse_server_config.c b/server/src/muse_server_config.c index f8def81..4e51b18 100644 --- a/server/src/muse_server_config.c +++ b/server/src/muse_server_config.c @@ -181,6 +181,8 @@ static int _ms_config_parser(ms_config_t *conf) g_free(key); } + LOGI("host #%d", conf->host_cnt); + free(hosts); return MM_ERROR_NONE; -- 2.7.4