about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2022-05-04 11:35:15 +0200
committerMichael Vetter <jubalh@iodoru.org>2022-05-04 11:35:15 +0200
commite5e661e92d44ac21a4d19ef429091ef8e38203d3 (patch)
tree7cbbe9d88167cf240e905c7b62600c17e78a9bf4
parent281c8b7d8d5fdf7d600811bd3002d26f8ef02576 (diff)
downloadprofani-tty-e5e661e92d44ac21a4d19ef429091ef8e38203d3.tar.gz
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.
-rw-r--r--src/pgp/gpg.c4
1 files changed, 3 insertions, 1 deletions
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;
 }