Reject empty generation strings.
authorDr. Stephen Henson <steve@openssl.org>
Wed, 15 Apr 2015 23:21:05 +0000 (00:21 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 16 Apr 2015 15:04:23 +0000 (16:04 +0100)
Reported by Hanno Böck <hanno@hboeck.de>

Reviewed-by: Rich Salz <rsalz@openssl.org>
crypto/asn1/asn1_gen.c

index 36fc218d3cda29f3dc7650914b8fb19cacd31974..cee37495e2a42d9fa0adc73c1dce2bec5ecb4a38 100644 (file)
@@ -167,8 +167,10 @@ static ASN1_TYPE *generate_v3(char *str, X509V3_CTX *cnf, int depth,
     asn1_tags.imp_class = -1;
     asn1_tags.format = ASN1_GEN_FORMAT_ASCII;
     asn1_tags.exp_count = 0;
-    if (CONF_parse_list(str, ',', 1, asn1_cb, &asn1_tags) != 0)
+    if (CONF_parse_list(str, ',', 1, asn1_cb, &asn1_tags) != 0) {
+        *perr = ASN1_R_UNKNOWN_TAG;
         return NULL;
+    }
 
     if ((asn1_tags.utype == V_ASN1_SEQUENCE)
         || (asn1_tags.utype == V_ASN1_SET)) {
@@ -298,7 +300,7 @@ static int asn1_cb(const char *elem, int len, void *bitstr)
     int tmp_tag, tmp_class;
 
     if (elem == NULL)
-        return 0;
+        return -1;
 
     for (i = 0, p = elem; i < len; p++, i++) {
         /* Look for the ':' in name value pairs */