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;'.