From 29153f47f3b6c9395c5d07a642619cd77186d08a Mon Sep 17 00:00:00 2001 From: miod <> Date: Sun, 15 Feb 2015 08:45:27 +0000 Subject: Check ASN1_OCTET_STRING_new() for failure. Coverity CID 78904 ok doug@ --- src/lib/libcrypto/x509v3/v3_ocsp.c | 14 ++++++++------ src/lib/libssl/src/crypto/x509v3/v3_ocsp.c | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/lib/libcrypto/x509v3/v3_ocsp.c b/src/lib/libcrypto/x509v3/v3_ocsp.c index d606240b12..1d9c8a8513 100644 --- a/src/lib/libcrypto/x509v3/v3_ocsp.c +++ b/src/lib/libcrypto/x509v3/v3_ocsp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: v3_ocsp.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ +/* $OpenBSD: v3_ocsp.c,v 1.11 2015/02/15 08:45:27 miod Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 1999. */ @@ -242,21 +242,23 @@ d2i_ocsp_nonce(void *a, const unsigned char **pp, long length) ASN1_OCTET_STRING *os, **pos; pos = a; - if (!pos || !*pos) + if (pos == NULL || *pos == NULL) { os = ASN1_OCTET_STRING_new(); - else + if (os == NULL) + goto err; + } else os = *pos; - if (!ASN1_OCTET_STRING_set(os, *pp, length)) + if (ASN1_OCTET_STRING_set(os, *pp, length) == 0) goto err; *pp += length; - if (pos) + if (pos != NULL) *pos = os; return os; err: - if (os && (!pos || (*pos != os))) + if (pos == NULL || *pos != os) M_ASN1_OCTET_STRING_free(os); OCSPerr(OCSP_F_D2I_OCSP_NONCE, ERR_R_MALLOC_FAILURE); return NULL; diff --git a/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c b/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c index d606240b12..1d9c8a8513 100644 --- a/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c +++ b/src/lib/libssl/src/crypto/x509v3/v3_ocsp.c @@ -1,4 +1,4 @@ -/* $OpenBSD: v3_ocsp.c,v 1.10 2014/07/11 08:44:49 jsing Exp $ */ +/* $OpenBSD: v3_ocsp.c,v 1.11 2015/02/15 08:45:27 miod Exp $ */ /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL * project 1999. */ @@ -242,21 +242,23 @@ d2i_ocsp_nonce(void *a, const unsigned char **pp, long length) ASN1_OCTET_STRING *os, **pos; pos = a; - if (!pos || !*pos) + if (pos == NULL || *pos == NULL) { os = ASN1_OCTET_STRING_new(); - else + if (os == NULL) + goto err; + } else os = *pos; - if (!ASN1_OCTET_STRING_set(os, *pp, length)) + if (ASN1_OCTET_STRING_set(os, *pp, length) == 0) goto err; *pp += length; - if (pos) + if (pos != NULL) *pos = os; return os; err: - if (os && (!pos || (*pos != os))) + if (pos == NULL || *pos != os) M_ASN1_OCTET_STRING_free(os); OCSPerr(OCSP_F_D2I_OCSP_NONCE, ERR_R_MALLOC_FAILURE); return NULL; -- cgit v1.2.3-55-g6feb