

Kyle_Katarn31
Members-
Content Count
43 -
Joined
-
Last visited
Community Reputation
0 NeutralRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Thanks "This won't matter for much longer since the next major release of ICS will cease support for compilers more than a few years old" You mean that you are about to drop Delphi 7 support ? What a bad news ! -
Exception in TCustomSmtpClient.Destroy;
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
No, never seen this but very often this kind of exception are "hidden" by Windows.... -
Exception in TCustomSmtpClient.Destroy;
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Not possible. Random exception while running for a long time in ReactOs (far from my IDE) -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
MaxInt or expected length to be copied (Length()-xxx) -
Exception in TCustomSmtpClient.Destroy;
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Exception : (dll/win32/kernel32/client/except.c:735) Delphi Exception at address: 0049F658 (dll/win32/kernel32/client/except.c:736) Exception-Object: 009CB4C4 (dll/win32/kernel32/client/except.c:737) Exception text: 955cb0 MAP file : 049F09C:{OverbyteIcsSmtpProt}constructor TCustomSmtpClient.Create(AOwner:TComponent); 049F2F8:{OverbyteIcsSmtpProt}destructor TCustomSmtpClient.Destroy; 049F398:{OverbyteIcsSmtpProt}procedure sub_0049F398(?:?; ?:?); 049F400:{OverbyteIcsSmtpProt}procedure sub_0049F400; 049F410:{OverbyteIcsSmtpProt}procedure sub_0049F410; 049F44C:{OverbyteIcsSmtpProt}procedure sub_0049F44C; 049F488:{OverbyteIcsSmtpProt}procedure sub_0049F488(?:?); 049F51C:{OverbyteIcsSmtpProt}procedure sub_0049F51C(?:?); 049F5A8:{OverbyteIcsSmtpProt}procedure sub_0049F5A8(?:?); 049F5D0:{OverbyteIcsSmtpProt}function sub_0049F5D0(?:?; ?:?):?; 049F634:{OverbyteIcsSmtpProt}procedure sub_0049F634(?:TCustomSmtpClient); 049F680:{OverbyteIcsSmtpProt}procedure sub_0049F680; 049F6A0:{OverbyteIcsSmtpProt}procedure sub_0049F6A0(?:?); 049F6C0:{OverbyteIcsSmtpProt}procedure sub_0049F6C0(?:?); 049F6E0:{OverbyteIcsSmtpProt}procedure sub_0049F6E0(?:?); 049F780:{OverbyteIcsSmtpProt}procedure sub_0049F780(?:TCustomSmtpClient; ?:?); 049F7A0:{OverbyteIcsSmtpProt}procedure sub_0049F7A0(?:?); 049F7FC:{OverbyteIcsSmtpProt}procedure sub_0049F7FC(?:?); 049FA30:{OverbyteIcsSmtpProt}procedure sub_0049FA30(?:?; ?:?); 049FE08:{OverbyteIcsSmtpProt}procedure sub_0049FE08(?:?); 049FED8:{OverbyteIcsSmtpProt}procedure sub_0049FED8(?:TCustomSmtpClient; ?:?; ?:AnsiString; ?:?; ?:?; ?:?; ?:?); -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Then argument to be filled with actual needed length -
Exception in TCustomSmtpClient.Destroy;
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Any clue or comment? -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Just a comment. No problem. My problem is on the assert in the other thread -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Ok. So at least the Copy enhancement to be considered ? -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Yes, right. Anyway : TempoStream.Free shall be called rather than TempoStream.Destroy -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
That's exactly my point. -
Weird code in THttpConnection.ProcessWellKnownDir
Kyle_Katarn31 posted a topic in ICS - Internet Component Suite
Some observations : { V8.65 look for absolute URL sent by proxy } I := Pos('://', FPath); if (I = 4) or (I = 5) then begin FPath := Copy(FPath, I + 3, 99999); // strip http:// I := Pos('/', FPath); // start of path if (I > 1) then FPath := Copy(FPath, I, 999999); // strip host end; Magic numbers 99999 and 999999 to be replaced with actual expected FPath extract length ? else begin { see if we have access to file, but don't read it yet } TempStream := TFileStream.Create(FDocument, fmOpenRead + fmShareDenyWrite); TempStream.Destroy; OK := TRUE; end; Destroy is called even if .Create fails and the global code section is a nonsense as always returns OK = TRUE whatever the access rights TempoStream.Free shall be called rather than TempoStream.Destroy -
Exception in TCustomSmtpClient.Destroy;
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Code comes from ICS TCustomSmtpClient.Destroy; Compiled with D7 Not fully reproductible but there might be something rotten here. anyway I agree that simply calling .free or FreeAndNil would be a wiser option here -
Exception in TCustomSmtpClient.Destroy;
Kyle_Katarn31 posted a topic in ICS - Internet Component Suite
Hello When running a software of mine in ReactOS i'm getting rare Delphi exception "Delphi Exception at address: 0049F658". Using IDR I identified that this corresponds to TCustomSmtpClient.Destroy; Looking at the code i'm surprised to see that the "safe destroy" pattern is used for FHdrLines and FAuthTypesSupported but NOT for FMailMessage and FRcptName, while all 4 of them are TStrings created in the constructor. if Assigned(FHdrLines) then begin FHdrLines.Destroy; FHdrLines := nil; end; if Assigned(FAuthTypesSupported) then begin FAuthTypesSupported.Destroy; FAuthTypesSupported := nil; end; FMailMessage.Destroy; FRcptName.Destroy; I would have simply expected FHdrLines.Free; FAuthTypesSupported.Free; FMailMessage.Free; FRcptName.Free; (or FreeAndNil(variable) ) Is it intentionnal ? same in TFingerCli.Destroy; TDnsQuery.Destroy; TCustomPop3Cli.Destroy; Similar issue with TFormDataAnalyser.PartSaveDataToFile, TFormDataItem.SaveToFile, TIcsFtpMulti.IntDownOne, OverbyteIcsFtpMultiW, OverbyteIcsFtpSrv, OverbyteIcsFtpSrvW where .Destroy is called while .Free would be expected Same for OverbyteIcsFtpCli.pas (3 occurences of FModeZStream.Destroy; instead of FModeZStream.Free;) ... global check to be done. -
About ProxyAuth when using no authentication
Kyle_Katarn31 replied to Kyle_Katarn31's topic in ICS - Internet Component Suite
Ok, thanks !