PR: 2057
authorDr. Stephen Henson <steve@openssl.org>
Wed, 30 Sep 2009 23:56:29 +0000 (23:56 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 30 Sep 2009 23:56:29 +0000 (23:56 +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 e426ea930c4a5ea1fc863eb101f03f213f7965d6..5c19cf4130bb0da6ff31ce46f38d2364346d50c7 100644 (file)
@@ -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;
 }