From: FdaSilvaYY Date: Fri, 8 Dec 2017 15:25:38 +0000 (-0500) Subject: Fix an incoherent test. X-Git-Tag: OpenSSL_1_0_2o~63 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1daedd88445397a4aebf22ba63e92c3f1977870;p=openssl Fix an incoherent test. Pointer 'o' is set inside a local buffer, so it can't be NULL. Also fix coding style and add comments Reviewed-by: Tim Hudson Reviewed-by: Richard Levitte Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/4754) (cherry picked from commit cef115ff0ca4255d3decc1dda87c5418a961fd2c) --- diff --git a/crypto/objects/obj_dat.c b/crypto/objects/obj_dat.c index aca382a6e9..8dae9e80a2 100644 --- a/crypto/objects/obj_dat.c +++ b/crypto/objects/obj_dat.c @@ -725,6 +725,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: + */ int OBJ_create_objects(BIO *in) { MS_STATIC char buf[512]; @@ -746,9 +750,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 +760,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++;