Re: Fwd: ODBC: SQLGetDescField returns incorrect length for SQL_DESC_COUNT field of APD

"Inoue, Hiroshi" <[email protected]> Thu, 27 Jun 2019 12:44:16 +0900
Newsgroups gmane.comp.db.postgresql.odbc
Message-ID <[email protected]>
Hi,

On 2019/06/27 1:35, Tom Lane wrote:
> Forwarding to correct list ...
>
> ------- Forwarded Message
>
> Date:    Wed, 26 Jun 2019 19:00:58 +0300
> From:    Werewolf <[email protected]>
> To:      [email protected]
> Subject: ODBC: SQLGetDescField returns incorrect length for SQL_DESC_COUNT
> 	 field of APD
>
> 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;'.

Oops, my mistake.
I would commit the fix.

thanks.
Hiroshi Inoue
>
> ------- End of Forwarded Message
>
>
>
> ---