summaryrefslogtreecommitdiffstats
path: root/crypto/o_str.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/o_str.c')
-rw-r--r--crypto/o_str.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/o_str.c b/crypto/o_str.c
index 269d60614b..b200060917 100644
--- a/crypto/o_str.c
+++ b/crypto/o_str.c
@@ -120,12 +120,14 @@ int OPENSSL_memcmp(const void *v1, const void *v2, size_t n)
char *CRYPTO_strdup(const char *str, const char* file, int line)
{
char *ret;
+ size_t size;
if (str == NULL)
return NULL;
- ret = CRYPTO_malloc(strlen(str) + 1, file, line);
+ size = strlen(str) + 1;
+ ret = CRYPTO_malloc(size, file, line);
if (ret != NULL)
- strcpy(ret, str);
+ memcpy(ret, str, size);
return ret;
}