summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2018-05-13 13:48:09 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2018-05-13 13:48:09 +0000
commitda95a920f88e84e199046ae61fb257b87d10c148 (patch)
tree32d6004262f6ce7326327b511d710990b191982a
parent428bd889a7b149d269a69cae4961b97eee2f6b80 (diff)
Use recallocarray() instead of OPENSSL_realloc_clean().
Also place all of the OPENSSL_* memory related prototypes under #ifndef LIBRESSL_INTERNAL. ok beck@ tb@
-rw-r--r--lib/libcrypto/asn1/a_bitstr.c7
-rw-r--r--lib/libcrypto/asn1/f_int.c5
-rw-r--r--lib/libcrypto/crypto.h4
3 files changed, 7 insertions, 9 deletions
diff --git a/lib/libcrypto/asn1/a_bitstr.c b/lib/libcrypto/asn1/a_bitstr.c
index 7fa5af9bbba..11771bdd026 100644
--- a/lib/libcrypto/asn1/a_bitstr.c
+++ b/lib/libcrypto/asn1/a_bitstr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: a_bitstr.c,v 1.27 2018/05/12 17:44:31 jsing Exp $ */
+/* $OpenBSD: a_bitstr.c,v 1.28 2018/05/13 13:48:08 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -190,8 +190,6 @@ c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a, const unsigned char **pp, long len)
return (NULL);
}
-/* These next 2 functions from Goetz Babin-Ebell <babinebell@trustcenter.de>
- */
int
ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
{
@@ -212,8 +210,7 @@ ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
if ((a->length < (w + 1)) || (a->data == NULL)) {
if (!value)
return(1); /* Don't need to set */
- c = OPENSSL_realloc_clean(a->data, a->length, w + 1);
- if (c == NULL) {
+ if ((c = recallocarray(a->data, a->length, w + 1, 1)) == NULL) {
ASN1error(ERR_R_MALLOC_FAILURE);
return 0;
}
diff --git a/lib/libcrypto/asn1/f_int.c b/lib/libcrypto/asn1/f_int.c
index 9849a7c8fca..d03fafe87d3 100644
--- a/lib/libcrypto/asn1/f_int.c
+++ b/lib/libcrypto/asn1/f_int.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: f_int.c,v 1.19 2018/04/25 11:48:21 tb Exp $ */
+/* $OpenBSD: f_int.c,v 1.20 2018/05/13 13:48:08 jsing Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -158,8 +158,7 @@ a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
}
i /= 2;
if (num + i > slen) {
- sp = OPENSSL_realloc_clean(s, slen, num + i);
- if (sp == NULL) {
+ if ((sp = recallocarray(s, slen, num + i, 1)) == NULL) {
ASN1error(ERR_R_MALLOC_FAILURE);
goto err;
}
diff --git a/lib/libcrypto/crypto.h b/lib/libcrypto/crypto.h
index 67e06a1509e..be5f92b1a3c 100644
--- a/lib/libcrypto/crypto.h
+++ b/lib/libcrypto/crypto.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: crypto.h,v 1.45 2018/03/19 03:35:38 beck Exp $ */
+/* $OpenBSD: crypto.h,v 1.46 2018/05/13 13:48:08 jsing Exp $ */
/* ====================================================================
* Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved.
*
@@ -299,6 +299,7 @@ DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS)
* via CRYPTO_ex_data_new_class). */
#define CRYPTO_EX_INDEX_USER 100
+#ifndef LIBRESSL_INTERNAL
#define CRYPTO_malloc_init() (0)
#define CRYPTO_malloc_debug_init() (0)
@@ -329,6 +330,7 @@ int CRYPTO_is_mem_check_on(void);
#define OPENSSL_malloc_locked(num) \
CRYPTO_malloc_locked((int)num,__FILE__,__LINE__)
#define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr)
+#endif
const char *OpenSSL_version(int type);
#define OPENSSL_VERSION 0