X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fgcrypt%2Frsagen.c;h=85765557e509e74998e5049b92aa6a38d8bfb9d3;hb=c44b08613508c993e7fd9f625e0b1b4775efffed;hp=01bb1378a46bb2a1ee284f43237074edee1cb7f6;hpb=efca41606d4083eade90047d57cb963eb3b7e731;p=tinc diff --git a/src/gcrypt/rsagen.c b/src/gcrypt/rsagen.c index 01bb1378..85765557 100644 --- a/src/gcrypt/rsagen.c +++ b/src/gcrypt/rsagen.c @@ -26,6 +26,7 @@ #include "pem.h" #include "../rsagen.h" #include "../xalloc.h" +#include "../utils.h" // ASN.1 tags. typedef enum { @@ -240,7 +241,9 @@ bool rsa_write_pem_private_key(rsa_t *rsa, FILE *fp) { gcry_mpi_release(params[dq]); gcry_mpi_release(params[u]); - return pem_encode(fp, "RSA PRIVATE KEY", derbuf, derlen); + bool success = pem_encode(fp, "RSA PRIVATE KEY", derbuf, derlen); + memzero(derbuf, sizeof(derbuf)); + return success; } static gcry_mpi_t find_mpi(const gcry_sexp_t rsa, const char *token) {