diff options
Diffstat (limited to 'sal/osl/unx/file.cxx')
-rw-r--r-- | sal/osl/unx/file.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sal/osl/unx/file.cxx b/sal/osl/unx/file.cxx index 4c62c8ec4bd5..5f723dd9a2d3 100644 --- a/sal/osl/unx/file.cxx +++ b/sal/osl/unx/file.cxx @@ -1477,7 +1477,8 @@ oslFileError SAL_CALL osl_setFilePos(oslFileHandle Handle, sal_uInt32 uHow, sal_ if ((nOffset < 0) && (nPos < -1*nOffset)) return osl_File_E_INVAL; - if (limit_off_t < (sal_Int64) nPos + nOffset) + assert(nPos >= 0); + if (nOffset > MAX_OFF_T - nPos) return osl_File_E_OVERFLOW; break; @@ -1486,7 +1487,8 @@ oslFileError SAL_CALL osl_setFilePos(oslFileHandle Handle, sal_uInt32 uHow, sal_ if ((nOffset < 0) && (nPos < -1*nOffset)) return osl_File_E_INVAL; - if (limit_off_t < (sal_Int64) nPos + nOffset) + assert(nPos >= 0); + if (nOffset > MAX_OFF_T - nPos) return osl_File_E_OVERFLOW; break; |