Comment 25 for bug 1242355

Revision history for this message
In , Lionel Elie Mamane (lionel-mamane) wrote :

(In reply to comment #5)
> Reproduced on two different machines:
> - libreoffice 4.1.3.2 (Debian package): infinite loop (memory consumption)

This was with mdbtools 0.7.1-1. This also is a mdbtools bug: calling SQLGetData on column 4 (TABLE_TYPE) of SQLTables returns SQL_NO_TOTAL in StrLen_or_IndPtr, indicating that there is more data to return, but the driver does not know how much. In this case, it returned all the data, namely "SYSTEM TABLE", so it should set StrLen_or_IndPtr to the length of that (that is, 12).

Cf http://msdn.microsoft.com/en-us/library/ms715441%28v=vs.85%29.aspx
Neither SQL_NO_TOTAL nor zero can be returned on the last valid call to retrieve data from a column, because the application would then have no way of knowing how much of the data in the application buffer is valid.