diff options
author | tb <> | 2020-09-03 17:19:27 +0000 |
---|---|---|
committer | tb <> | 2020-09-03 17:19:27 +0000 |
commit | 4bf78c9d27fd63450872f4391ac1bd558c36d841 (patch) | |
tree | 2a2c7740f232472e228aec33ccdf9027c7101c03 /src/lib | |
parent | cc6d5f23315f01aac985d2090e0597d9f756f99b (diff) | |
download | openbsd-4bf78c9d27fd63450872f4391ac1bd558c36d841.tar.gz openbsd-4bf78c9d27fd63450872f4391ac1bd558c36d841.tar.bz2 openbsd-4bf78c9d27fd63450872f4391ac1bd558c36d841.zip |
Remove unnecessary zeroing after recallocarray(3)
Zap a memset that was redundant since OpenSSL 0.97b was merged by
markus in 2003. Nowadays it's otto's recallocarray(3) that does the
zeroing.
ok beck inoguchi otto
PS: ASN1_BIT_STRING_set_bit(3) was committed on Dec 21 1998 by Ralf S.
Engelschnall and used this bizarre allocation idiom:
if (a->data == NULL)
c=(unsigned char *)Malloc(w+1);
else
c=(unsigned char *)Realloc(a->data,w+1);
People complained about Malloc, Realloc and Free being used elsewhere, so
on Jun 1 2000, Richarde Levitte swept the OpenSSL tree and it became this.
if (a->data == NULL)
c=(unsigned char *)OPENSSL_malloc(w+1);
else
c=(unsigned char *)OPENSSL_realloc(a->data,w+1);
Then it was found that existing data should be cleaned, and on Nov 13 2002
Ben Laurie changed the last line to
c=(unsigned char *)OPENSSL_realloc_clean(a->data,
a->length,
w+1);
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libcrypto/asn1/a_bitstr.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/a_bitstr.c b/src/lib/libcrypto/asn1/a_bitstr.c index 7fd40d8a8c..f217f13d27 100644 --- a/src/lib/libcrypto/asn1/a_bitstr.c +++ b/src/lib/libcrypto/asn1/a_bitstr.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_bitstr.c,v 1.29 2018/10/20 16:07:09 tb Exp $ */ | 1 | /* $OpenBSD: a_bitstr.c,v 1.30 2020/09/03 17:19:27 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -215,8 +215,6 @@ ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value) | |||
215 | ASN1error(ERR_R_MALLOC_FAILURE); | 215 | ASN1error(ERR_R_MALLOC_FAILURE); |
216 | return 0; | 216 | return 0; |
217 | } | 217 | } |
218 | if (w + 1 - a->length > 0) | ||
219 | memset(c + a->length, 0, w + 1 - a->length); | ||
220 | a->data = c; | 218 | a->data = c; |
221 | a->length = w + 1; | 219 | a->length = w + 1; |
222 | } | 220 | } |