Prevent overriding null terminator in cache name

This commit is contained in:
Michal Mielewczyk 2019-06-10 09:05:01 -04:00 committed by Michal Rakowski
parent 46c17144f6
commit 328d27846a
4 changed files with 5 additions and 5 deletions

View File

@ -672,8 +672,8 @@ static int _ocf_mngt_init_prepare_cache(struct ocf_cache_mngt_init_params *param
} }
if (cfg->name) { if (cfg->name) {
ret = env_strncpy(cache_name, sizeof(cache_name), ret = env_strncpy(cache_name, sizeof(cache_name) - 1,
cfg->name, sizeof(cache_name)); cfg->name, sizeof(cache_name) - 1);
if (ret) if (ret)
goto out; goto out;
} else { } else {

View File

@ -26,7 +26,7 @@ ocf_cache_id_t ocf_cache_get_id(ocf_cache_t cache)
int ocf_cache_set_name(ocf_cache_t cache, const char *src, size_t src_size) int ocf_cache_set_name(ocf_cache_t cache, const char *src, size_t src_size)
{ {
OCF_CHECK_NULL(cache); OCF_CHECK_NULL(cache);
return env_strncpy(cache->name, sizeof(cache->name), src, src_size); return env_strncpy(cache->name, OCF_CACHE_NAME_SIZE - 1, src, src_size);
} }
const char *ocf_cache_get_name(ocf_cache_t cache) const char *ocf_cache_get_name(ocf_cache_t cache)

View File

@ -54,7 +54,7 @@ int ocf_core_set_name(ocf_core_t core, const char *src, size_t src_size)
OCF_CHECK_NULL(core); OCF_CHECK_NULL(core);
OCF_CHECK_NULL(src); OCF_CHECK_NULL(src);
return env_strncpy(core->name, sizeof(core->name), src, src_size); return env_strncpy(core->name, OCF_CORE_NAME_SIZE - 1, src, src_size);
} }
const char *ocf_core_get_name(ocf_core_t core) const char *ocf_core_get_name(ocf_core_t core)

View File

@ -27,7 +27,7 @@ int ocf_cache_io_class_get_info(ocf_cache_t cache, uint32_t io_class,
return -OCF_ERR_IO_CLASS_NOT_EXIST; return -OCF_ERR_IO_CLASS_NOT_EXIST;
} }
if (env_strncpy(info->name, sizeof(info->name), if (env_strncpy(info->name, OCF_IO_CLASS_NAME_MAX - 1,
cache->user_parts[part_id].config->name, cache->user_parts[part_id].config->name,
sizeof(cache->user_parts[part_id].config->name))) { sizeof(cache->user_parts[part_id].config->name))) {
return -OCF_ERR_INVAL; return -OCF_ERR_INVAL;