diff options
Diffstat (limited to 'UChecksum.pas')
| -rw-r--r-- | UChecksum.pas | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/UChecksum.pas b/UChecksum.pas index 6634601..679d7ef 100644 --- a/UChecksum.pas +++ b/UChecksum.pas @@ -206,9 +206,10 @@ var FD: TEngineFileDes; begin Result := False; Stat := Engine.GetFileInfoSL(FileName); - if (Stat.Size > 128*1024) then begin + if (Stat <> nil) and (Stat.Size > 128*1024) then begin i := integer(Application.MessageBox(Format(LANGTheFileSYouAreTryingToOpenIsQuiteBig, [StrToUTF8(ExtractFileName(FileName))]), [mbYes, mbNo], mbWarning, mbNone, mbNo)); if (i = integer(mbNo)) or (i = 251) then Exit; + FreeDataItem(Stat); end; IsMD5 := (Pos('MD5', WideUpperCase(ExtractFileName(FileName))) > 0) or ((Pos('SFV', WideUpperCase(ExtractFileName(FileName))) = 0) and (Pos('SUM', WideUpperCase(ExtractFileName(FileName))) > 0)); if IsMD5 then MD5Present := True @@ -312,8 +313,10 @@ begin Item.FullPath := IncludeTrailingPathDelimiter(Path) + s2; end; Stat := Engine.GetFileInfoSL(Item.FullPath); - if Assigned(Stat) then Item.Size := Stat.Size - else Item.Size := 0; + if Assigned(Stat) then begin + Item.Size := Stat.Size; + FreeDataItem(Stat); + end else Item.Size := 0; List.Add(Item); ListItem := FileList.Items.Add; ListItem.Data := Item; |
