Consultor Eletrônico



Kbase P188113: UI issues occur after reading data from a SQLite database using the SQLite3.dll
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/20/2011
Status: Unverified

SYMPTOM(s):

UI issues occur after reading data from a SQLite database using the SQLite3.dll

Calling the sqlite3_column_text function, which returns a MEMPTR

Calling SET-SIZE on the MEMPTR returned by the sqlite3_column_text function.

After calling the sqlite3_column_text DLL function a number of times, one or more of the following is seen:

Text as part of frame definitions is no longer displayed

**Unable to realize <widget name>. (4025)

An error occurred while displaying a system dialog box. The system error code is -1. (13960)

FACT(s) (Environment):

Windows
OpenEdge 10.2B
OpenEdge Category: Language (4GL/ABL)

CAUSE:

The SQLite library is written in a way that assumes it is the only component responsible for allocating and deallocating memory used by the exposed API functions.
Using the SET-SIZE function on a MEMPTR received from the library interferes with its' memory management and causes the process memory to become corrupt.
The in-memory corruption leads to the observed symptoms.

FIX:

Do not call SET-SIZE on the MEMPTR returned by the DLL functions