Opened 13 years ago
Closed 13 years ago
#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:
SetFilePointer64((FdoInt64)(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.
Note:
See TracTickets
for help on using tickets.