diff options
-rw-r--r-- | src/lib/libcrypto/mem_dbg.c | 5 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/mem_dbg.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/libcrypto/mem_dbg.c b/src/lib/libcrypto/mem_dbg.c index dfeb084799..c6dee9a92b 100644 --- a/src/lib/libcrypto/mem_dbg.c +++ b/src/lib/libcrypto/mem_dbg.c | |||
@@ -810,8 +810,9 @@ void CRYPTO_malloc_debug_init(void) | |||
810 | 810 | ||
811 | char *CRYPTO_strdup(const char *str, const char *file, int line) | 811 | char *CRYPTO_strdup(const char *str, const char *file, int line) |
812 | { | 812 | { |
813 | char *ret = CRYPTO_malloc(strlen(str)+1, file, line); | 813 | size_t len = strlen(str)+1; |
814 | char *ret = CRYPTO_malloc(len, file, line); | ||
814 | 815 | ||
815 | strcpy(ret, str); | 816 | memcpy(ret, str, len); |
816 | return ret; | 817 | return ret; |
817 | } | 818 | } |
diff --git a/src/lib/libssl/src/crypto/mem_dbg.c b/src/lib/libssl/src/crypto/mem_dbg.c index dfeb084799..c6dee9a92b 100644 --- a/src/lib/libssl/src/crypto/mem_dbg.c +++ b/src/lib/libssl/src/crypto/mem_dbg.c | |||
@@ -810,8 +810,9 @@ void CRYPTO_malloc_debug_init(void) | |||
810 | 810 | ||
811 | char *CRYPTO_strdup(const char *str, const char *file, int line) | 811 | char *CRYPTO_strdup(const char *str, const char *file, int line) |
812 | { | 812 | { |
813 | char *ret = CRYPTO_malloc(strlen(str)+1, file, line); | 813 | size_t len = strlen(str)+1; |
814 | char *ret = CRYPTO_malloc(len, file, line); | ||
814 | 815 | ||
815 | strcpy(ret, str); | 816 | memcpy(ret, str, len); |
816 | return ret; | 817 | return ret; |
817 | } | 818 | } |