From b983d8e595e8acf2e1548cfac580b591abfffdec Mon Sep 17 00:00:00 2001 From: Armin Novak Date: Thu, 11 Jun 2015 09:23:32 +0200 Subject: [PATCH] Fixed data replace. --- libfreerdp/crypto/certificate.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libfreerdp/crypto/certificate.c b/libfreerdp/crypto/certificate.c index 2d64a0508..98090b444 100644 --- a/libfreerdp/crypto/certificate.c +++ b/libfreerdp/crypto/certificate.c @@ -300,7 +300,7 @@ BOOL certificate_data_replace(rdpCertificateStore* certificate_store, rdpCertifi char* pline; long int size; - fp = fopen(certificate_store->file, "wb+"); + fp = fopen(certificate_store->file, "rb"); if (!fp) return FALSE; @@ -330,6 +330,16 @@ BOOL certificate_data_replace(rdpCertificateStore* certificate_store, rdpCertifi return FALSE; } + fclose(fp); + + fp = fopen(certificate_store->file, "wb+"); + + if (!fp) + { + free(data); + return FALSE; + } + /* Write the file back out, with appropriate fingerprint substitutions */ data[size] = '\n'; data[size + 1] = '\0';