Commit 2ace7450 authored by Rich Salz's avatar Rich Salz
Browse files

free NULL cleanup 8



Do not check for NULL before calling a free routine.  This addresses:
    ASN1_BIT_STRING_free ASN1_GENERALIZEDTIME_free ASN1_INTEGER_free
    ASN1_OBJECT_free ASN1_OCTET_STRING_free ASN1_PCTX_free ASN1_SCTX_free
    ASN1_STRING_clear_free ASN1_STRING_free ASN1_TYPE_free
    ASN1_UTCTIME_free M_ASN1_free_of

Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent 5a80d9fb
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -1414,7 +1414,6 @@ BIGNUM *load_serial(char *serialfile, int create, ASN1_INTEGER **retai)
    }
 err:
    BIO_free(in);
    if (ai != NULL)
    ASN1_INTEGER_free(ai);
    return (ret);
}
@@ -1468,7 +1467,6 @@ int save_serial(char *serialfile, char *suffix, BIGNUM *serial,
    }
 err:
    BIO_free_all(out);
    if (ai != NULL)
    ASN1_INTEGER_free(ai);
    return (ret);
}
+1 −2
Original line number Diff line number Diff line
@@ -327,7 +327,6 @@ int asn1parse_main(int argc, char **argv)
        OPENSSL_free(header);
    if (strictpem && str != NULL)
        OPENSSL_free(str);
    if (at != NULL)
    ASN1_TYPE_free(at);
    if (osk != NULL)
        sk_OPENSSL_STRING_free(osk);
+7 −9
Original line number Diff line number Diff line
@@ -2033,7 +2033,6 @@ static int do_body(X509 **xret, EVP_PKEY *pkey, X509 *x509,
        X509_NAME_free(subject);
    if ((dn_subject != NULL) && !email_dn)
        X509_NAME_free(dn_subject);
    if (tmptm != NULL)
    ASN1_UTCTIME_free(tmptm);
    if (ok <= 0) {
        if (ret != NULL)
@@ -2740,6 +2739,8 @@ int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold,
            }
            if (phold)
                *phold = hold;
            else
                ASN1_OBJECT_free(hold);
        } else if ((reason_code == 9) || (reason_code == 10)) {
            if (!arg_str) {
                BIO_printf(bio_err, "missing compromised time\n");
@@ -2763,10 +2764,10 @@ int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold,

    if (preason)
        *preason = reason_code;
    if (pinvtm)
    if (pinvtm) {
        *pinvtm = comp_time;
    else
        ASN1_GENERALIZEDTIME_free(comp_time);
        comp_time = NULL;
    }

    ret = 1;

@@ -2774,9 +2775,6 @@ int unpack_revinfo(ASN1_TIME **prevtm, int *preason, ASN1_OBJECT **phold,

    if (tmp)
        OPENSSL_free(tmp);
    if (!phold)
        ASN1_OBJECT_free(hold);
    if (!pinvtm)
    ASN1_GENERALIZEDTIME_free(comp_time);

    return ret;
+1 −1
Original line number Diff line number Diff line
@@ -339,7 +339,7 @@ ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp,
    return (ret);
 err:
    ASN1err(ASN1_F_C2I_ASN1_OBJECT, i);
    if ((ret != NULL) && ((a == NULL) || (*a != ret)))
    if ((a == NULL) || (*a != ret))
        ASN1_OBJECT_free(ret);
    return (NULL);
}
+1 −2
Original line number Diff line number Diff line
@@ -513,7 +513,6 @@ static ASN1_TYPE *asn1_multi(int utype, const char *section, X509V3_CTX *cnf,
    if (der)
        OPENSSL_free(der);

    if (sk)
    sk_ASN1_TYPE_pop_free(sk, ASN1_TYPE_free);
    if (sect)
        X509V3_section_free(cnf, sect);
Loading