Icon View Incident Report

Serious Serious
Reported By: Raul Sinimae
Reported On: 5/19/2022
For: Version 4.50 Build 2
# 4886 DBISAM Incorrectly Using 32-bit Integer Type for File Handles on Windows

Looking at DBISAM source code it looks to me it uses "integer" for storing what looks like THandles - did a quick search and for example "OSFileCreate" function in "dbisamlb" calls CreateFileA which returns THandle.

We did have a weird crash with our logging library (which uses RegisterEventSource/DeregisterEventSource Win API calls) - it was using integer and after changing it to thandle have not had any more issues.

Have not investigated this much further yet but I think there might be a need a to convert lot of Integer code to use THandle type or one can run into some random crashes and access violations potentially


Comments Comments
There wasn't any evidence that this was actually a problem, but it definitely has the potential to become problematic if the handle values ever exceeded the 32-bit, signed integer range.


Resolution Resolution
Fixed Problem on 6/25/2022 in version 4.50 build 3


Products Affected Products Affected
DBISAM Additional Software and Utilities
DBISAM ODBC Client-Server
DBISAM ODBC Client-Server with Source
DBISAM ODBC Standard
DBISAM ODBC Standard with Source
DBISAM ODBC Trial
DBISAM VCL Client-Server
DBISAM VCL Client-Server with Source
DBISAM VCL Standard
DBISAM VCL Standard with Source
DBISAM VCL Trial

Image