Commit 32f3b98d authored by Andy Polyakov's avatar Andy Polyakov
Browse files

crypto/x509v3/v3_utl.c, ssl/ssl_cert.c: fix Coverity problems.

parent 65e6b9a4
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ int X509V3_add_value(const char *name, const char *value,
{
    CONF_VALUE *vtmp = NULL;
    char *tname = NULL, *tvalue = NULL;
    int sk_allocated = (*extlist == NULL);

    if (name && (tname = OPENSSL_strdup(name)) == NULL)
        goto err;
@@ -45,7 +46,7 @@ int X509V3_add_value(const char *name, const char *value,
        goto err;
    if ((vtmp = OPENSSL_malloc(sizeof(*vtmp))) == NULL)
        goto err;
    if (*extlist == NULL && (*extlist = sk_CONF_VALUE_new_null()) == NULL)
    if (sk_allocated && (*extlist = sk_CONF_VALUE_new_null()) == NULL)
        goto err;
    vtmp->section = NULL;
    vtmp->name = tname;
@@ -55,6 +56,8 @@ int X509V3_add_value(const char *name, const char *value,
    return 1;
 err:
    X509V3err(X509V3_F_X509V3_ADD_VALUE, ERR_R_MALLOC_FAILURE);
    if (sk_allocated)
        sk_CONF_VALUE_free(*extlist);
    OPENSSL_free(vtmp);
    OPENSSL_free(tname);
    OPENSSL_free(tvalue);
+5 −3
Original line number Diff line number Diff line
@@ -468,18 +468,20 @@ STACK_OF(X509_NAME) *SSL_dup_CA_list(const STACK_OF(X509_NAME) *sk)
        SSLerr(SSL_F_SSL_DUP_CA_LIST, ERR_R_MALLOC_FAILURE);
        return NULL;
    }
    if (!sk_X509_NAME_reserve(ret, num))
    if (!sk_X509_NAME_reserve(ret, num)) {
        sk_X509_NAME_free(ret);
        return NULL;
    }
    for (i = 0; i < num; i++) {
        name = X509_NAME_dup(sk_X509_NAME_value(sk, i));
        if (name == NULL) {
            SSLerr(SSL_F_SSL_DUP_CA_LIST, ERR_R_MALLOC_FAILURE);
            sk_X509_NAME_pop_free(ret, X509_NAME_free);
            X509_NAME_free(name);
            return NULL;
        }
        sk_X509_NAME_push(ret, name);   /* Cannot fail after reserve call */
    }
    return (ret);
    return ret;
}

void SSL_set0_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list)