From c6478818f01c438d719da47f83d32b15d9fbdc6d Mon Sep 17 00:00:00 2001 From: liuwentan Date: Thu, 16 Mar 2023 10:36:04 +0800 Subject: [PATCH] optimize maat_options API --- include/maat.h | 4 ++-- src/maat_api.c | 13 ++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/include/maat.h b/include/maat.h index f8cdf38..70fc1f3 100644 --- a/include/maat.h +++ b/include/maat.h @@ -96,9 +96,9 @@ int maat_options_set_accept_tags(struct maat_options *opts, const char *accept_t int maat_options_set_rule_effect_interval_ms(struct maat_options *opts, int interval_ms); int maat_options_set_rule_update_checking_interval_ms(struct maat_options *opts, int interval_ms); int maat_options_set_gc_timeout_ms(struct maat_options *opts, int interval_ms); -int maat_options_set_instance_name(struct maat_options *opts, const char *instance_name); +int maat_options_set_instance_name(struct maat_options *opts, const char *instance_name, size_t name_len); int maat_options_set_deferred_load_on(struct maat_options *opts); -int maat_options_set_foreign_cont_dir(struct maat_options *opts, const char *dir); +int maat_options_set_foreign_cont_dir(struct maat_options *opts, const char *dir, size_t dir_len); int maat_options_set_iris(struct maat_options *opts, const char *full_directory, const char *increment_directory); diff --git a/src/maat_api.c b/src/maat_api.c index ecd7b34..2f2b339 100644 --- a/src/maat_api.c +++ b/src/maat_api.c @@ -176,14 +176,13 @@ int maat_options_set_gc_timeout_ms(struct maat_options *opts, int interval_ms) return 0; } -int maat_options_set_instance_name(struct maat_options *opts, const char *instance_name) +int maat_options_set_instance_name(struct maat_options *opts, const char *instance_name, size_t name_len) { - if (NULL == opts || NULL == instance_name || - strlen(instance_name) >= NAME_MAX) { + if (NULL == opts || NULL == instance_name || name_len > sizeof(opts->instance_name)) { return -1; } - memcpy(opts->instance_name, instance_name, strlen(instance_name)); + memcpy(opts->instance_name, instance_name, name_len); return 0; } @@ -197,13 +196,13 @@ int maat_options_set_deferred_load_on(struct maat_options *opts) return 0; } -int maat_options_set_foreign_cont_dir(struct maat_options *opts, const char *dir) +int maat_options_set_foreign_cont_dir(struct maat_options *opts, const char *dir, size_t dir_len) { - if (NULL == opts || strlen(dir) >= NAME_MAX) { + if (NULL == opts || NULL == dir || dir_len > sizeof(opts->foreign_cont_dir)) { return -1; } - memcpy(opts->foreign_cont_dir, dir, strlen(dir)); + memcpy(opts->foreign_cont_dir, dir, dir_len); return 0; }