diff options
author | beck <> | 2014-04-17 16:30:59 +0000 |
---|---|---|
committer | beck <> | 2014-04-17 16:30:59 +0000 |
commit | 1d8c2b5d17c36de9739c947ea93d6c3ecf0f3d08 (patch) | |
tree | 6cdaf78fbbcfbaa523a160b76824a48edf167c52 /src | |
parent | 52f11019fedf648d558adc2d1d5598ffbcd720cc (diff) | |
download | openbsd-1d8c2b5d17c36de9739c947ea93d6c3ecf0f3d08.tar.gz openbsd-1d8c2b5d17c36de9739c947ea93d6c3ecf0f3d08.tar.bz2 openbsd-1d8c2b5d17c36de9739c947ea93d6c3ecf0f3d08.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; |