Build failure with VS 2012 due to uninitialized pointers

From: Craig Ringer <craig(at)2ndquadrant(dot)com>
To: "pgsql-odbc(at)postgresql(dot)org" <pgsql-odbc(at)postgresql(dot)org>
Subject: Build failure with VS 2012 due to uninitialized pointers
Date: 2014-06-12 07:53:18
Message-ID: 53995C6E.90509@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-odbc

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.

--
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

Responses

Browse pgsql-odbc by date

  From Date Subject
Next Message Craig Ringer 2014-06-12 08:28:19 Re: XA registry entries are missing from 64-bit install
Previous Message Inoue, Hiroshi 2014-06-12 06:02:49 Re: XA registry entries are missing from 64-bit install