From 5029a194650741d31f3f4e4c862e742b55012807 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Tue, 14 Jun 2016 12:08:34 +0300 Subject: [PATCH] dcrypt-openssl: Pass pointer safely --- src/lib-dcrypt/dcrypt-openssl.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib-dcrypt/dcrypt-openssl.c b/src/lib-dcrypt/dcrypt-openssl.c index 7c1c96950e..107c41eed3 100644 --- a/src/lib-dcrypt/dcrypt-openssl.c +++ b/src/lib-dcrypt/dcrypt-openssl.c @@ -1231,11 +1231,13 @@ int dcrypt_openssl_load_public_key_dovecot_v2(struct dcrypt_public_key **key_r, buffer_t tmp; size_t keylen = strlen(input[1])/2; unsigned char keybuf[keylen]; + const unsigned char *ptr; buffer_create_from_data(&tmp, keybuf, keylen); hex_to_binary(input[1], &tmp); + ptr = keybuf; EVP_PKEY *pkey = EVP_PKEY_new(); - if (d2i_PUBKEY(&pkey, (const unsigned char**)(tmp.data), tmp.used)==NULL) { + if (d2i_PUBKEY(&pkey, &ptr, keylen)==NULL) { EVP_PKEY_free(pkey); dcrypt_openssl_error(error_r); return -1; -- 2.47.3