diff options
author | beck <> | 2014-04-17 16:30:59 +0000 |
---|---|---|
committer | beck <> | 2014-04-17 16:30:59 +0000 |
commit | 29d25d7d30e1d53fae58f4e2229c9ef758b54ca5 (patch) | |
tree | 6cdaf78fbbcfbaa523a160b76824a48edf167c52 /src | |
parent | 95d3b8ad6373f2a5c978f2fdb620e2b349c78c6c (diff) | |
download | openbsd-29d25d7d30e1d53fae58f4e2229c9ef758b54ca5.tar.gz openbsd-29d25d7d30e1d53fae58f4e2229c9ef758b54ca5.tar.bz2 openbsd-29d25d7d30e1d53fae58f4e2229c9ef758b54ca5.zip |
remove OPENSSL_realloc_clean usage here - replace with intrinsics to make
it obvious what should happen.
ok tedu@
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/buffer/buffer.c | 11 | ||||
-rw-r--r-- | src/lib/libssl/src/crypto/buffer/buffer.c | 11 |
2 files changed, 14 insertions, 8 deletions
diff --git a/src/lib/libcrypto/buffer/buffer.c b/src/lib/libcrypto/buffer/buffer.c index 4bd55c04ae..a50c30a348 100644 --- a/src/lib/libcrypto/buffer/buffer.c +++ b/src/lib/libcrypto/buffer/buffer.c | |||
@@ -153,10 +153,13 @@ BUF_MEM_grow_clean(BUF_MEM *str, size_t len) | |||
153 | return 0; | 153 | return 0; |
154 | } | 154 | } |
155 | n = (len + 3) / 3 * 4; | 155 | n = (len + 3) / 3 * 4; |
156 | if (str->data == NULL) | 156 | ret = malloc(n); |
157 | ret = malloc(n); | 157 | /* we're not shrinking - that case returns above */ |
158 | else | 158 | if ((ret != NULL) && (str->data != NULL)) { |
159 | ret = OPENSSL_realloc_clean(str->data, str->max, n); | 159 | memcpy(ret, str->data, str->max); |
160 | explicit_bzero(str->data, str->max); | ||
161 | free(str->data); | ||
162 | } | ||
160 | if (ret == NULL) { | 163 | if (ret == NULL) { |
161 | BUFerr(BUF_F_BUF_MEM_GROW_CLEAN, ERR_R_MALLOC_FAILURE); | 164 | BUFerr(BUF_F_BUF_MEM_GROW_CLEAN, ERR_R_MALLOC_FAILURE); |
162 | len = 0; | 165 | len = 0; |
diff --git a/src/lib/libssl/src/crypto/buffer/buffer.c b/src/lib/libssl/src/crypto/buffer/buffer.c index 4bd55c04ae..a50c30a348 100644 --- a/src/lib/libssl/src/crypto/buffer/buffer.c +++ b/src/lib/libssl/src/crypto/buffer/buffer.c | |||
@@ -153,10 +153,13 @@ BUF_MEM_grow_clean(BUF_MEM *str, size_t len) | |||
153 | return 0; | 153 | return 0; |
154 | } | 154 | } |
155 | n = (len + 3) / 3 * 4; | 155 | n = (len + 3) / 3 * 4; |
156 | if (str->data == NULL) | 156 | ret = malloc(n); |
157 | ret = malloc(n); | 157 | /* we're not shrinking - that case returns above */ |
158 | else | 158 | if ((ret != NULL) && (str->data != NULL)) { |
159 | ret = OPENSSL_realloc_clean(str->data, str->max, n); | 159 | memcpy(ret, str->data, str->max); |
160 | explicit_bzero(str->data, str->max); | ||
161 | free(str->data); | ||
162 | } | ||
160 | if (ret == NULL) { | 163 | if (ret == NULL) { |
161 | BUFerr(BUF_F_BUF_MEM_GROW_CLEAN, ERR_R_MALLOC_FAILURE); | 164 | BUFerr(BUF_F_BUF_MEM_GROW_CLEAN, ERR_R_MALLOC_FAILURE); |
162 | len = 0; | 165 | len = 0; |