Commit e34c66c6 authored by Emilia Kasper's avatar Emilia Kasper
Browse files

RT3754: check for NULL pointer



Fix both the caller to error out on malloc failure, as well as the
eventual callee to handle a NULL gracefully.

Reviewed-by: default avatarViktor Dukhovni <viktor@openssl.org>
parent cdde7b49
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len)

int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
{
    if (!EVP_PKEY_set_type(pkey, type))
    if (pkey == NULL || !EVP_PKEY_set_type(pkey, type))
        return 0;
    pkey->pkey.ptr = key;
    return (key != NULL);
+7 −2
Original line number Diff line number Diff line
@@ -96,12 +96,17 @@ int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
        return -1;
    }

    if (!ppkey)
    if (ppkey == NULL)
        return -1;

    if (!*ppkey)
    if (*ppkey == NULL)
        *ppkey = EVP_PKEY_new();

    if (*ppkey == NULL) {
        EVPerr(EVP_F_EVP_PKEY_PARAMGEN, ERR_R_MALLOC_FAILURE);
        return -1;
    }

    ret = ctx->pmeth->paramgen(ctx, *ppkey);
    if (ret <= 0) {
        EVP_PKEY_free(*ppkey);