Ticket #811 (closed defect: fixed)

Opened 4 months ago

Last modified 4 months ago

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

Changed 4 months ago by danstoica

  • status changed from new to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.