summaryrefslogtreecommitdiff
path: root/UChecksum.pas
diff options
context:
space:
mode:
Diffstat (limited to 'UChecksum.pas')
-rw-r--r--UChecksum.pas9
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;