diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2018-03-27 17:03:01 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2018-03-27 17:03:01 +0000 |
commit | 02be298e504b8554caca6dc85af450e1ea44d19d (patch) | |
tree | b4870fcd2c2663fedd44997d4bb5ad13dcd50293 /crypto/objects/obj_dat.c | |
parent | 4f94f84d8491a2455678402b5c7c92e692a272bc (diff) | |
download | src-test2-02be298e504b8554caca6dc85af450e1ea44d19d.tar.gz src-test2-02be298e504b8554caca6dc85af450e1ea44d19d.zip |
Notes
Diffstat (limited to 'crypto/objects/obj_dat.c')
-rw-r--r-- | crypto/objects/obj_dat.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c index aca382a6e9f3..315afa9dbed3 100644 --- a/crypto/objects/obj_dat.c +++ b/crypto/objects/obj_dat.c @@ -305,9 +305,8 @@ int OBJ_add_object(const ASN1_OBJECT *obj) for (i = ADDED_DATA; i <= ADDED_NID; i++) if (ao[i] != NULL) OPENSSL_free(ao[i]); - if (o != NULL) - OPENSSL_free(o); - return (NID_undef); + ASN1_OBJECT_free(o); + return NID_undef; } ASN1_OBJECT *OBJ_nid2obj(int n) @@ -591,7 +590,7 @@ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name) n += i; OPENSSL_free(bndec); } else { - BIO_snprintf(tbuf, sizeof tbuf, ".%lu", l); + BIO_snprintf(tbuf, sizeof(tbuf), ".%lu", l); i = strlen(tbuf); if (buf && (buf_len > 0)) { BUF_strlcpy(buf, tbuf, buf_len); @@ -725,6 +724,10 @@ const void *OBJ_bsearch_ex_(const void *key, const void *base_, int num, return (p); } +/* + * Parse a BIO sink to create some extra oid's objects. + * Line format:<OID:isdigit or '.']><isspace><SN><isspace><LN> + */ int OBJ_create_objects(BIO *in) { MS_STATIC char buf[512]; @@ -746,9 +749,9 @@ int OBJ_create_objects(BIO *in) *(s++) = '\0'; while (isspace((unsigned char)*s)) s++; - if (*s == '\0') + if (*s == '\0') { s = NULL; - else { + } else { l = s; while ((*l != '\0') && !isspace((unsigned char)*l)) l++; @@ -756,15 +759,18 @@ int OBJ_create_objects(BIO *in) *(l++) = '\0'; while (isspace((unsigned char)*l)) l++; - if (*l == '\0') + if (*l == '\0') { l = NULL; - } else + } + } else { l = NULL; + } } - } else + } else { s = NULL; - if ((o == NULL) || (*o == '\0')) - return (num); + } + if (*o == '\0') + return num; if (!OBJ_create(o, s, l)) return (num); num++; |