Re: segfault in SQLSpecialColumns when table name is null string

From: Lionel Elie Mamane <lionel(at)mamane(dot)lu>
To: Terrence Enger <tenger(at)iseries-guru(dot)com>
Cc: pgsql-odbc(at)postgresql(dot)org
Subject: Re: segfault in SQLSpecialColumns when table name is null string
Date: 2012-07-10 14:27:07
Message-ID: 20120710142707.GB26793@capsaicin.mamane.lu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

On Tue, Jul 10, 2012 at 08:22:52AM -0400, Terrence Enger wrote:

> Working with PostgreSQL version 8.4.12-0ubuntu11.04 and with ODBC
> driver versions 1:08.03.0200-1.2 (supplied with ubuntu-natty (11.04))
> and pgsqlodbc-09.01.0100 (built locally), I have managed to provoke a
> segfault by calling SQLSpecialColumns with a null string for the table
> name. This call is, of course, a strange thing to do, and I cannot
> imagine any good result. Still, a segfault seems a disproportionate
> punishment for doing something silly.

Also, the ultimate reason for this "strange thing" is that

SQLColAttribute( (SQLHANDLE) 0x1ec7850,
(SQLUSMALLINT) 1,
(SQLUSMALLINT) 15,
(SQLPOINTER) 0x1eb2640,
128,
(SQLSMALLINT *) 0x7fffffff97de,
NULL);

where 15 == SQL_DESC_TABLE_NAME == SQL_COLUMN_TABLE_NAME
returns (writes at 0x1eb2640) an empty string for this query:

SELECT "Num" "Numero", "data" FROM "foo"."Table1"

Similarly, so do the similar calls with SQL_DESC_CATALOG_NAME and
SQL_DESC_SCHEMA_NAME.

By contrast, they do return good information for query

SELECT "Num" AS "Numero", "data" FROM "foo"."Table1"

That is also a bug in the ODBC driver and should IMHO be fixed.

--
Lionel

In response to

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Hiroshi Inoue 2012-07-11 21:41:18 Re: segfault in SQLSpecialColumns when table name is null string
Previous Message Terrence Enger 2012-07-10 12:22:52 segfault in SQLSpecialColumns when table name is null string