summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/evp/e_aes.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/libcrypto/evp/e_aes.c b/src/lib/libcrypto/evp/e_aes.c
index a1e94c8ff6..8fddeaaa40 100644
--- a/src/lib/libcrypto/evp/e_aes.c
+++ b/src/lib/libcrypto/evp/e_aes.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: e_aes.c,v 1.38 2019/05/10 18:41:17 tb Exp $ */ 1/* $OpenBSD: e_aes.c,v 1.39 2019/05/12 15:52:46 tb Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 2001-2011 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -1243,7 +1243,17 @@ aes_ccm_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr)
1243 return 1; 1243 return 1;
1244 1244
1245 case EVP_CTRL_COPY: 1245 case EVP_CTRL_COPY:
1246 {
1247 EVP_CIPHER_CTX *out = ptr;
1248 EVP_AES_CCM_CTX *cctx_out = out->cipher_data;
1249
1250 if (cctx->ccm.key) {
1251 if (cctx->ccm.key != &cctx->ks)
1252 return 0;
1253 cctx_out->ccm.key = &cctx_out->ks;
1254 }
1246 return 1; 1255 return 1;
1256 }
1247 1257
1248 default: 1258 default:
1249 return -1; 1259 return -1;