From 9ea898a3c2b7af44b4e8b191eb97f6761110c26d Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Mon, 17 Nov 2014 01:07:07 +0100 Subject: [PATCH] Fixed memory leaks. --- libfreerdp/core/certificate.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libfreerdp/core/certificate.c b/libfreerdp/core/certificate.c index 7489857da..b4ccd2367 100644 --- a/libfreerdp/core/certificate.c +++ b/libfreerdp/core/certificate.c @@ -657,12 +657,12 @@ BOOL certificate_read_server_certificate(rdpCertificate* certificate, BYTE* serv rdpRsaKey* key_new(const char* keyfile) { - BIO* bio; - FILE* fp; - RSA* rsa; + BIO* bio = NULL; + FILE* fp = NULL; + RSA* rsa = NULL; int length; - BYTE* buffer; - rdpRsaKey* key; + BYTE* buffer = NULL; + rdpRsaKey* key = NULL; key = (rdpRsaKey*) calloc(1, sizeof(rdpRsaKey)); @@ -752,6 +752,10 @@ out_free_modulus: out_free_rsa: RSA_free(rsa); out_free: + if (fp) + fclose(fp); + if (buffer) + free(buffer); free(key); return NULL; }