summaryrefslogtreecommitdiff
path: root/rtl/objpas
diff options
context:
space:
mode:
authormichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-10-06 08:09:50 +0000
committermichael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-10-06 08:09:50 +0000
commit2a6f484bce06db04d4b3c974280a7a039c0e73d9 (patch)
tree16a02845859988cd81e62543d9ed4165e13ccf3b /rtl/objpas
parent11a086930efea521189fe09d4c3b217823b6039b (diff)
downloadfpc-2a6f484bce06db04d4b3c974280a7a039c0e73d9.tar.gz
* Error when seek fails
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@47056 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'rtl/objpas')
-rw-r--r--rtl/objpas/sysconst.pp1
-rw-r--r--rtl/objpas/sysutils/filutil.inc5
2 files changed, 5 insertions, 1 deletions
diff --git a/rtl/objpas/sysconst.pp b/rtl/objpas/sysconst.pp
index 2aa466adf6..39b844dfa2 100644
--- a/rtl/objpas/sysconst.pp
+++ b/rtl/objpas/sysconst.pp
@@ -100,6 +100,7 @@ const
SSafecallException = 'Exception in safecall method';
SiconvError = 'iconv error';
SThreadError = 'Thread error';
+ SSeekFailed = 'Seek operation failed';
STooManyOpenFiles = 'Too many open files';
SUnKnownRunTimeError = 'Unknown Run-Time error : %3.3d';
diff --git a/rtl/objpas/sysutils/filutil.inc b/rtl/objpas/sysutils/filutil.inc
index 301e37f98d..e61a344386 100644
--- a/rtl/objpas/sysutils/filutil.inc
+++ b/rtl/objpas/sysutils/filutil.inc
@@ -711,7 +711,10 @@ Var
begin
aLen:=FileSeek(aHandle,0,fsFromEnd);
- FileSeek(aHandle,0,fsFromBeginning);
+ if aLen<0 then
+ Raise EInOutError.Create(SSeekFailed);
+ if FileSeek(aHandle,0,fsFromBeginning)<0 then
+ Raise EInOutError.Create(SSeekFailed);
SetLength(Result,aLen);
aOffset:=0;
Repeat