From 612b2c37be70636e73698c6c064af9522301be65 Mon Sep 17 00:00:00 2001 From: Remi Tricot-Le Breton Date: Wed, 12 May 2021 17:45:21 +0200 Subject: [PATCH] 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. --- src/ssl_sock.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ssl_sock.c b/src/ssl_sock.c index ec271c9..f596a83 100644 --- a/src/ssl_sock.c +++ b/src/ssl_sock.c @@ -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); -- 1.7.10.4