Failure to exit critical section on error case - Mailing list pgsql-odbc

From Craig Ringer
Subject Failure to exit critical section on error case
Date
Msg-id CAMsr+YEfEwBOkua-vwT2ELBtAkU+NpDhmPD8kXyWy-rjX6iy_w@mail.gmail.com
Whole thread Raw
Responses Re: Failure to exit critical section on error case
List pgsql-odbc
Hi all

A user pointed out that after line 130 in pgxalib.c:

122 HDBC    XAConnection::ActivateConnection(void)
123 {
124     RETCODE ret;
125
126     MLOCK_ACQUIRE;
127     if (!init_crit.env)
128     {
129         ret = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE,
&init_crit.env);
130         if (!SQL_SUCCEEDED(ret))
131             return NULL;
132     }
133     MLOCK_RELEASE;

we fail to MLOCK_RELEASE .

It seems like a trivial fix to just

    if (!SQL_SUCCEEDED(ret))
    {
        MLOCK_RELEASE;
        return NULL;
    }



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


pgsql-odbc by date:

Previous
From: Craig Ringer
Date:
Subject: Re: purpose of exe?
Next
From: Craig Ringer
Date:
Subject: Minor fixes to Windows tests