Commit 64f0f80e authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

PR: 2057

Submitted by: Julia Lawall <julia@diku.dk>
Approved by: steve@openssl.org

Correct BIO_write, BIO_printf, i2a_ASN1_INTEGER and i2a_ASN1_OBJECT
error handling in OCSP print routines.
parent d7106112
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -161,21 +161,21 @@ static int i2r_ocsp_crlid(const X509V3_EXT_METHOD *method, void *in, BIO *bp,
	OCSP_CRLID *a = in;
	if (a->crlUrl)
	        {
		if (!BIO_printf(bp, "%*scrlUrl: ", ind, "")) goto err;
		if (BIO_printf(bp, "%*scrlUrl: ", ind, "") <= 0) goto err;
		if (!ASN1_STRING_print(bp, (ASN1_STRING*)a->crlUrl)) goto err;
		if (!BIO_write(bp, "\n", 1)) goto err;
		if (BIO_write(bp, "\n", 1) <= 0) goto err;
		}
	if (a->crlNum)
	        {
		if (!BIO_printf(bp, "%*scrlNum: ", ind, "")) goto err;
		if (!i2a_ASN1_INTEGER(bp, a->crlNum)) goto err;
		if (!BIO_write(bp, "\n", 1)) goto err;
		if (BIO_printf(bp, "%*scrlNum: ", ind, "") <= 0) goto err;
		if (i2a_ASN1_INTEGER(bp, a->crlNum) <= 0) goto err;
		if (BIO_write(bp, "\n", 1) <= 0) goto err;
		}
	if (a->crlTime)
	        {
		if (!BIO_printf(bp, "%*scrlTime: ", ind, "")) goto err;
		if (BIO_printf(bp, "%*scrlTime: ", ind, "") <= 0) goto err;
		if (!ASN1_GENERALIZEDTIME_print(bp, a->crlTime)) goto err;
		if (!BIO_write(bp, "\n", 1)) goto err;
		if (BIO_write(bp, "\n", 1) <= 0) goto err;
		}
	return 1;
	err:
@@ -185,7 +185,7 @@ static int i2r_ocsp_crlid(const X509V3_EXT_METHOD *method, void *in, BIO *bp,
static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *cutoff,
			    BIO *bp, int ind)
{
	if (!BIO_printf(bp, "%*s", ind, "")) return 0;
	if (BIO_printf(bp, "%*s", ind, "") <= 0) return 0;
	if(!ASN1_GENERALIZEDTIME_print(bp, cutoff)) return 0;
	return 1;
}
@@ -194,8 +194,8 @@ static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *cutoff,
static int i2r_object(const X509V3_EXT_METHOD *method, void *oid, BIO *bp,
		      int ind)
{
	if (!BIO_printf(bp, "%*s", ind, "")) return 0;
	if(!i2a_ASN1_OBJECT(bp, oid)) return 0;
	if (BIO_printf(bp, "%*s", ind, "") <= 0) return 0;
	if(i2a_ASN1_OBJECT(bp, oid) <= 0) return 0;
	return 1;
}