make update
[openssl.git] / apps / asn1pars.c
index 305db1590359068f9e7360cbcd43a21faf5d94b6..f1d8bc8b98b846936b47d0d2d0ef9bceaba5f90d 100644 (file)
@@ -309,6 +309,7 @@ bad:
                for (i=0; i<sk_num(osk); i++)
                        {
                        ASN1_TYPE *atmp;
+                       int typ;
                        j=atoi(sk_value(osk,i));
                        if (j == 0)
                                {
@@ -327,6 +328,15 @@ bad:
                                ERR_print_errors(bio_err);
                                goto end;
                                }
+                       typ = ASN1_TYPE_get(at);
+                       if ((typ == V_ASN1_OBJECT)
+                               || (typ == V_ASN1_NULL))
+                               {
+                               BIO_printf(bio_err, "Can't parse %s type\n",
+                                       typ == V_ASN1_NULL ? "NULL" : "OBJECT");
+                               ERR_print_errors(bio_err);
+                               goto end;
+                               }
                        /* hmm... this is a little evil but it works */
                        tmpbuf=at->value.asn1_string->data;
                        tmplen=at->value.asn1_string->length;