From 6d43208e4486fddd8fc4b9966fa9b892860435d0 Mon Sep 17 00:00:00 2001 From: michael Date: Thu, 8 May 2014 11:06:17 +0000 Subject: [PATCH] * Fixed memory leak, context and SSL object must be freed git-svn-id: trunk@27739 - --- packages/fcl-net/src/sslsockets.pp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/packages/fcl-net/src/sslsockets.pp b/packages/fcl-net/src/sslsockets.pp index 4cea56a1ca..ab620b34c7 100644 --- a/packages/fcl-net/src/sslsockets.pp +++ b/packages/fcl-net/src/sslsockets.pp @@ -44,17 +44,16 @@ Type FCTX : TSSLContext; FSSLActive : Boolean; FSendHostAsSNI : Boolean; - function CheckSSL(SSLResult: Integer): Boolean; - function CheckSSL(SSLResult: Pointer): Boolean; - function DoneContext: Boolean; - Function FetchErrorInfo: Boolean; function GetSSLData(AIndex: Integer): TSSLData; - function InitContext(NeedCertificate: Boolean): Boolean; - function InitSslKeys: boolean; procedure SetSSLData(AIndex: Integer; AValue: TSSLData); procedure SetSSLLastErrorString(AValue: string); protected - procedure ReturnError; + Function FetchErrorInfo: Boolean; + function CheckSSL(SSLResult: Integer): Boolean; + function CheckSSL(SSLResult: Pointer): Boolean; + function InitContext(NeedCertificate: Boolean): Boolean; virtual; + function DoneContext: Boolean; virtual; + function InitSslKeys: boolean;virtual; function DoVerifyCert:boolean; public constructor Create; override; @@ -125,10 +124,6 @@ begin FSSLLastErrorString:=AValue; end; -procedure TSSLSocketHandler.ReturnError; -begin - -end; function TSSLSocketHandler.DoVerifyCert: boolean; begin @@ -156,6 +151,8 @@ Var I : Integer; begin + FreeAndNil(FSSL); + FreeAndNil(FCTX); inherited Destroy; For I:=0 to SSLDataCount do FreeAndNil(FCertData[i]);