BUG/MINOR: ssl: Missing calloc return value check in ssl_init_single_engine

A memory allocation failure happening during ssl_init_single_engine
would have resulted in a crash. This function is only called during
init.

It was raised in GitHub issue #1233.
It could be backported to all stable branches.
This commit is contained in:
Remi Tricot-Le Breton 2021-05-12 17:45:21 +02:00 committed by Christopher Faulet
parent 208ff01b23
commit 612b2c37be

View File

@ -636,6 +636,8 @@ int ssl_init_single_engine(const char *engine_id, const char *def_algorithms)
}
el = calloc(1, sizeof(*el));
if (!el)
goto fail_alloc;
el->e = engine;
LIST_INSERT(&openssl_engines, &el->list);
nb_engines++;
@ -643,6 +645,7 @@ int ssl_init_single_engine(const char *engine_id, const char *def_algorithms)
global.ssl_used_async_engines = nb_engines;
return 0;
fail_alloc:
fail_set_method:
/* release the functional reference from ENGINE_init() */
ENGINE_finish(engine);