Browse Source

* Avoid overflow when reading from streams > 2gb

git-svn-id: trunk@22945 -
michael 12 năm trước cách đây
mục cha
commit
a3f7a7fdb4
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      rtl/objpas/classes/streams.inc

+ 3 - 2
rtl/objpas/classes/streams.inc

@@ -592,8 +592,9 @@ begin
   Result:=0;
   If (FSize>0) and (FPosition<Fsize) and (FPosition>=0) then
     begin
-    Result:=FSize-FPosition;
-    If Result>Count then Result:=Count;
+    Result:=Count;
+    If (Result>(FSize-FPosition)) then
+      Result:=(FSize-FPosition);
     Move ((FMemory+FPosition)^,Buffer,Result);
     FPosition:=Fposition+Result;
     end;