Commit 2a4dc7e5 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 4e92353d
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -153,21 +153,21 @@ static int i2r_ocsp_crlid(X509V3_EXT_METHOD *method, void *in, BIO *bp, int ind)
	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:
@@ -176,7 +176,7 @@ static int i2r_ocsp_crlid(X509V3_EXT_METHOD *method, void *in, BIO *bp, int ind)

static int i2r_ocsp_acutoff(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;
}
@@ -184,8 +184,8 @@ static int i2r_ocsp_acutoff(X509V3_EXT_METHOD *method, void *cutoff, BIO *bp, in

static int i2r_object(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;
}