diff options
Diffstat (limited to 'src/manager/service/key-provider.cpp')
-rw-r--r-- | src/manager/service/key-provider.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/manager/service/key-provider.cpp b/src/manager/service/key-provider.cpp index e89af167..6049acb7 100644 --- a/src/manager/service/key-provider.cpp +++ b/src/manager/service/key-provider.cpp @@ -249,7 +249,7 @@ void WrappedKeyAndInfoContainer::setKeyInfoClient(const std::string resized_clie ThrowErr(Exc::InternalError, "Client name too long"); } - strcpy(wrappedKeyAndInfo.keyInfo.client, resized_client.c_str()); + strncpy(wrappedKeyAndInfo.keyInfo.client, resized_client.c_str(), resized_client.size()); } void WrappedKeyAndInfoContainer::setKeyInfoSalt(const unsigned char *salt, @@ -486,7 +486,7 @@ RawBuffer KeyProvider::generateDomainKEK( if (user.size() >= sizeof(domainKEK.getKeyAndInfo().keyInfo.client)) { ThrowErr(Exc::InternalError, "Client name too long"); } - strcpy(domainKEK.getKeyAndInfo().keyInfo.client, user.c_str()); + strncpy(domainKEK.getKeyAndInfo().keyInfo.client, user.c_str(), user.size()); return wrapDomainKEK(domainKEK, userPassword); } |