diff options
Diffstat (limited to 'crypto/o_str.c')
-rw-r--r-- | crypto/o_str.c | 6 |
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; } |