summaryrefslogtreecommitdiffstats
path: root/providers/implementations/exchange
diff options
context:
space:
mode:
authorslontis <shane.lontis@oracle.com>2021-09-02 16:49:37 +1000
committerTomas Mraz <tomas@openssl.org>2021-09-03 12:31:59 +0200
commit21a0d9f3edda78d27d12cd7704de9e32976393ba (patch)
tree93bd0a34edb434a04603721790f3377336f4f70e /providers/implementations/exchange
parent85407b77543a2d4330dbb40f6b8520ea0894a716 (diff)
Fix dh dupctx refcount error
Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/16495)
Diffstat (limited to 'providers/implementations/exchange')
-rw-r--r--providers/implementations/exchange/dh_exch.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/providers/implementations/exchange/dh_exch.c b/providers/implementations/exchange/dh_exch.c
index 1dffc8d112..ea05b3177e 100644
--- a/providers/implementations/exchange/dh_exch.c
+++ b/providers/implementations/exchange/dh_exch.c
@@ -238,7 +238,6 @@ static int dh_derive(void *vpdhctx, unsigned char *secret,
return 0;
}
-
static void dh_freectx(void *vpdhctx)
{
PROV_DH_CTX *pdhctx = (PROV_DH_CTX *)vpdhctx;
@@ -271,12 +270,12 @@ static void *dh_dupctx(void *vpdhctx)
dstctx->kdf_ukm = NULL;
dstctx->kdf_cekalg = NULL;
- if (dstctx->dh != NULL && !DH_up_ref(srcctx->dh))
+ if (srcctx->dh != NULL && !DH_up_ref(srcctx->dh))
goto err;
else
dstctx->dh = srcctx->dh;
- if (dstctx->dhpeer != NULL && !DH_up_ref(srcctx->dhpeer))
+ if (srcctx->dhpeer != NULL && !DH_up_ref(srcctx->dhpeer))
goto err;
else
dstctx->dhpeer = srcctx->dhpeer;