/*
- * Copyright (c) 2000 - 2019 Samsung Electronics Co., Ltd All Rights Reserved
+ * Copyright (c) 2000-2019 Samsung Electronics Co., Ltd. All rights reserved
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
if (owner_id == NULL || alias == NULL || full_alias == NULL)
return CKMC_ERROR_INVALID_PARAMETER;
- size_t len = strlen(owner_id) + strlen(alias) + strlen(ckmc_owner_id_separator);
+ const size_t owner_id_len = strlen(owner_id);
+ const size_t separator_len = strlen(ckmc_owner_id_separator);
+ const size_t alias_len = strlen(alias);
+ const size_t len = owner_id_len + separator_len + alias_len;
char *_full_alias = static_cast<char *>(malloc(len + 1));
if (_full_alias == NULL)
return CKMC_ERROR_OUT_OF_MEMORY;
- strncpy(_full_alias, owner_id, len + 1);
- strncat(_full_alias, ckmc_owner_id_separator, len - strlen(_full_alias));
- strncat(_full_alias, alias, len - strlen(_full_alias));
+ memcpy(_full_alias, owner_id, owner_id_len);
+ memcpy(_full_alias + owner_id_len, ckmc_owner_id_separator, separator_len);
+ memcpy(_full_alias + owner_id_len + separator_len, alias, alias_len);
+ _full_alias[len] = '\0';
*full_alias = _full_alias;