diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/libcrypto/evp/e_aes.c | 12 |
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; |
