X-Git-Url: http://git.megabrutal.com/?p=mgsmtp.git;a=blobdiff_plain;f=Relay.pas;h=017d943b22463595f184cf51911f176ea112bca5;hp=bcbcc9d92ee6842c5de66b050df69c6890e949e1;hb=051a1121219617c530b553d70be0e849fc7dbc7e;hpb=c4973242121d1319638cb836a39da4e6bbe064f6 diff --git a/Relay.pas b/Relay.pas index bcbcc9d..017d943 100644 --- a/Relay.pas +++ b/Relay.pas @@ -176,6 +176,7 @@ begin FTransactionComplete:= false; FRoutingTarget:= RoutingTable.GetRouteInfo(Envelope.RelayHost); Response:= TRFCReply.Create; + TCP:= nil; FillChar(SMTPExtensions, SizeOf(TSMTPExtensions), #0); end; @@ -183,6 +184,7 @@ destructor TRelayer.Destroy; begin FRoutingTarget.Free; Response.Free; + if TCP <> nil then TCP.Free; inherited Destroy; end; @@ -340,6 +342,7 @@ begin Inc(i); end; Result:= TCP.Connected; + if not TCP.Connected then FreeAndNil(TCP); end else Result:= false; MXList.Free; @@ -539,7 +542,7 @@ procedure TRelayer.CloseConnection; begin TCP.SendCommand(SMTP_C_QUIT); {TCP.ReadResponse(Response);} - TCP.Free; + FreeAndNil(TCP); end;