Commit 59099d6b authored by Richard Levitte's avatar Richard Levitte
Browse files

STORE: fix possible memory leak



If scheme is NULL, the allocated res is leaked

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3841)
parent 43a0449f
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -30,12 +30,7 @@ DEFINE_RUN_ONCE_STATIC(do_registry_init)

OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme)
{
    OSSL_STORE_LOADER *res = OPENSSL_zalloc(sizeof(*res));

    if (res == NULL) {
        OSSL_STOREerr(OSSL_STORE_F_OSSL_STORE_LOADER_NEW, ERR_R_MALLOC_FAILURE);
        return NULL;
    }
    OSSL_STORE_LOADER *res = NULL;

    /*
     * We usually don't check NULL arguments.  For loaders, though, the
@@ -49,6 +44,11 @@ OSSL_STORE_LOADER *OSSL_STORE_LOADER_new(ENGINE *e, const char *scheme)
        return NULL;
    }

    if ((res = OPENSSL_zalloc(sizeof(*res))) == NULL) {
        OSSL_STOREerr(OSSL_STORE_F_OSSL_STORE_LOADER_NEW, ERR_R_MALLOC_FAILURE);
        return NULL;
    }

    res->engine = e;
    res->scheme = scheme;
    return res;