diff options
author | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-10-06 08:09:50 +0000 |
---|---|---|
committer | michael <michael@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-10-06 08:09:50 +0000 |
commit | 2a6f484bce06db04d4b3c974280a7a039c0e73d9 (patch) | |
tree | 16a02845859988cd81e62543d9ed4165e13ccf3b /rtl/objpas | |
parent | 11a086930efea521189fe09d4c3b217823b6039b (diff) | |
download | fpc-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.pp | 1 | ||||
-rw-r--r-- | rtl/objpas/sysutils/filutil.inc | 5 |
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 |