Ticket #811 (closed defect: fixed)
SHP provider: file pointer overflow in the case of large DBF files
| Reported by: | danstoica | Owned by: | gregboone |
|---|---|---|---|
| Priority: | major | Milestone: | 3.6.0 |
| Component: | FDO API | Version: | 3.6.0 |
| Severity: | 2 | Keywords: | |
| Cc: | External ID: |
Description
The following code is faulty for large DBF files (as number of records) and large record size:
SetFilePointer?64((FdoInt?64)(m_nRecordStart + (nRecord * m_DBFHeader.wRecordSize)))
All the integers involved in the file pointer values are Int32 thus the result is an int32 (max_int= 2147483647). In the case of recordNumber = 700000 a record size of 3070 will be enough to result into a negative number for the file pointer.
Change History
Note: See
TracTickets for help on using
tickets.
