Обсуждение: ODBC: SQLGetDescField returns incorrect length for SQL_DESC_COUNTfield of APD

Поиск
Список
Период
Сортировка

ODBC: SQLGetDescField returns incorrect length for SQL_DESC_COUNTfield of APD

От
Werewolf
Дата:
Field SQL_DESC_COUNT should fit into a variable of type SQLSMALLINT. But 
when retrieving this field of APD SQLGetDescField returns SQLINTEGER 
value. So memory corruption is possible in application using psqlodbc 
driver.
Also the function returns an undefined error code -8.

The mistake is located here

https://git.postgresql.org/gitweb/?p=psqlodbc.git;a=blob;f=pgapi30.c;h=ba0dd6d731bbccd81392def43ae9b10e9c013aef;hb=HEAD#l1240

Just replace 'ret = SQL_IS_SMALLINT;' with 'rettype = SQL_IS_SMALLINT;'.