Remove experimental 56bit export ciphers
[openssl.git] / crypto / asn1 / asn1_gen.c
index 9ef89f6121f3c0f13deb860970b19b62927ed994..9735cb5b455c80593016434a91493d9629ed38a5 100644 (file)
@@ -279,6 +279,9 @@ static int asn1_cb(const char *elem, int len, void *bitstr)
 
     int tmp_tag, tmp_class;
 
+    if (elem == NULL)
+        return 0;
+
     for (i = 0, p = elem; i < len; p++, i++) {
         /* Look for the ':' in name value pairs */
         if (*p == ':') {
@@ -416,7 +419,6 @@ static int parse_tagging(const char *vstart, int vlen, int *ptag, int *pclass)
             ASN1err(ASN1_F_PARSE_TAGGING, ASN1_R_INVALID_MODIFIER);
             ERR_add_error_data(2, "Char=", erch);
             return 0;
-            break;
 
         }
     } else
@@ -766,7 +768,6 @@ static ASN1_TYPE *asn1_str2type(const char *str, int format, int utype)
     default:
         ASN1err(ASN1_F_ASN1_STR2TYPE, ASN1_R_UNSUPPORTED_TYPE);
         goto bad_str;
-        break;
     }
 
     atmp->type = utype;
@@ -805,6 +806,8 @@ static int mask_cb(const char *elem, int len, void *arg)
 {
     unsigned long *pmask = arg, tmpmask;
     int tag;
+    if (elem == NULL)
+        return 0;
     if (len == 3 && !strncmp(elem, "DIR", 3)) {
         *pmask |= B_ASN1_DIRECTORYSTRING;
         return 1;