summaryrefslogtreecommitdiffstats
path: root/apps/apps.h
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-09-28 23:39:18 +0200
committerRichard Levitte <levitte@openssl.org>2016-10-19 17:44:08 +0200
commitdd1abd4462e4e4fa84b8f8de2ec70375f9b0e191 (patch)
tree66ed9bf5494cf999e57f754b5fa43ccd51ffc36e /apps/apps.h
parente972273194303e15f8dd7ce69dbcfa27cc024e9f (diff)
If an engine comes up explicitely, it must also come down explicitely
In apps/apps.c, one can set up an engine with setup_engine(). However, we freed the structural reference immediately, which means that for engines that don't already have a structural reference somewhere else (because it's a built in engine), we end up returning an invalid reference. Instead, the function release_engine() is added, and called at the end of the routines that call setup_engine(). Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/1643)
Diffstat (limited to 'apps/apps.h')
-rw-r--r--apps/apps.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/apps/apps.h b/apps/apps.h
index 6083780a78..da4cc36384 100644
--- a/apps/apps.h
+++ b/apps/apps.h
@@ -435,6 +435,7 @@ __owur int ctx_set_ctlog_list_file(SSL_CTX *ctx, const char *path);
# else
ENGINE *setup_engine(const char *engine, int debug);
# endif
+void release_engine(ENGINE *e);
# ifndef OPENSSL_NO_OCSP
OCSP_RESPONSE *process_responder(OCSP_REQUEST *req,
const char *host, const char *path,