Print out <INVALID> if an OID value is invalid.
[openssl.git] / crypto / asn1 / a_object.c
index 0fbc368f0db569ec3a051ad4603007db439872b0..a36356e34474e2b99b27683f124a57064a81f65b 100644 (file)
@@ -246,6 +246,8 @@ int i2a_ASN1_OBJECT(BIO *bp, ASN1_OBJECT *a)
                        return -1;
                i2t_ASN1_OBJECT(p,i + 1,a);
                }
+       if (i <= 0)
+               return BIO_write(bp, "<INVALID>", 9);
        BIO_write(bp,p,i);
        if (p != buf)
                OPENSSL_free(p);