Re: Build failure with VS 2012 due to uninitialized pointers - Mailing list pgsql-odbc

From Inoue, Hiroshi
Subject Re: Build failure with VS 2012 due to uninitialized pointers
Date
Msg-id 539C4FF6.2080906@tpf.co.jp
Whole thread Raw
In response to Build failure with VS 2012 due to uninitialized pointers  (Craig Ringer <craig@2ndquadrant.com>)
Responses Re: Build failure with VS 2012 due to uninitialized pointers  (Craig Ringer <craig@2ndquadrant.com>)
List pgsql-odbc
Thanks.
Confirmed and committed.

regards,
Hiroshi Inoue

(2014/06/12 16:53), Craig Ringer wrote:
> Hi folks
>
> VS 2012 reports possibly uninitialized pointer access:
>
>
>
>
> c:\users\administrator\desktop\psqlodbc\connection.c(2073): error C4703:
> potentially uninitialized local pointer variable 'sock' used
>
> which is
>
>     if (0 != (sockerr = SOCK_get_errcode(sock)))
>     {
>
> in original_CC_connect(...).
>
>
>
> c:\users\administrator\desktop\psqlodbc\dlg_wingui.c(177): error C4703:
> potentially uninitialized local pointer variable 'comval' used
>
> which is
>
>     CheckDlgButton(hdlg, DRV_COMMLOG, comval->commlog);
>
>
>
>
> By default it treats these as fatal errors, so the codebase won't build
> on VS 2012. BuildAll.ps1 doesn't seem to provide a simple way to pass
> extra CFLAGS into the build (to pass /sdl- per
> http://msdn.microsoft.com/en-us/library/jj161081.aspx), and it isn't
> really desirable to just turn the warning off anyway.
>
>
> I've taken a look at what's going on. In the case of the first one the
> function is not small and its flow isn't simple. I thought I'd mention
> the issue here first, in case somebody was able to immediately see
> what's missing. While I could just:
>
>
> -    SocketClass *sock;
> +    SocketClass *sock = NULL;
>
> I'm pretty sure that's just papering over whatever the real problem is.
>
>
> The second, the comval error, looks to be a missing default: clause in
> the case. If this were backend code I'd just toss in an
>
>      elog(FATAL,"Unreachable code reached");
>
> but that's not going to be much good in psqlODBC.


pgsql-odbc by date:

Previous
From: Craig Ringer
Date:
Subject: Re: NPE in psqlodbc30a.dll!PgDtc_set_property caused by pgendlista.dll!IAsyncPG::RequestExec
Next
From: John Smith
Date:
Subject: SQL_DATA_AT_EXEC fails for SQL_C_BIGINT and SQL_C_NUMERIC