Don't write out a bad OID
authorMatt Caswell <matt@openssl.org>
Thu, 22 Mar 2018 14:33:05 +0000 (14:33 +0000)
committerMatt Caswell <matt@openssl.org>
Tue, 27 Mar 2018 15:10:07 +0000 (16:10 +0100)
If we don't have OID data for an object then we should fail if we
are asked to encode the ASN.1 for that OID.

Fixes #5723

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5725)

(cherry picked from commit 53c9818e970fc0c22d77e19fda3b3e6f6c9e759d)

crypto/asn1/tasn_enc.c

index 081a9d534f8aa78a86a7c0a07cfa8d8a4073d868..1f534df065c3d3c48311f796d27a2a826b1127f1 100644 (file)
@@ -588,6 +588,8 @@ int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cout, int *putype,
         otmp = (ASN1_OBJECT *)*pval;
         cont = otmp->data;
         len = otmp->length;
+        if (cont == NULL || len == 0)
+            return -1;
         break;
 
     case V_ASN1_NULL: