PR: 2057
authorDr. Stephen Henson <steve@openssl.org>
Wed, 30 Sep 2009 23:55:29 +0000 (23:55 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 30 Sep 2009 23:55:29 +0000 (23:55 +0000)
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.

crypto/x509v3/v3_ocsp.c

index 3e8af5d..0c165af 100644 (file)
@@ -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;
 }