From e5e661e92d44ac21a4d19ef429091ef8e38203d3 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 4 May 2022 11:35:15 +0200 Subject: [PATCH] ox: fix mistakes in p_ox_gpg_decrypt() strcpy() can't work here because the data doesn't have to be NULL-terminated. So let's use memcpy. Fix memleak of plain_str. --- src/pgp/gpg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pgp/gpg.c b/src/pgp/gpg.c index a93a8273..7dc57d96 100644 --- a/src/pgp/gpg.c +++ b/src/pgp/gpg.c @@ -1195,11 +1195,13 @@ p_ox_gpg_decrypt(char* base64) return NULL; } } + size_t len; char* plain_str = gpgme_data_release_and_get_mem(plain, &len); char* result = malloc(len + 1); - strcpy(result, plain_str); + memcpy(result, plain_str, len); result[len] = '\0'; + gpgme_free(plain_str); return result; }