BUG #17186: In connect.c, the lock connections_mutex is not correctly released(Line 463) at the return(Line 522)

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: ryancaicse(at)gmail(dot)com
Subject: BUG #17186: In connect.c, the lock connections_mutex is not correctly released(Line 463) at the return(Line 522)
Date: 2021-09-10 04:29:36
Message-ID: 17186-b4cfd8f0eb4d1dee@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 17186
Logged by: An improper locking bug due to the unreleased lock connections_mutex in
/ecpg/ecpglib/connect.c
Email address: ryancaicse(at)gmail(dot)com
PostgreSQL version: 14beta3
Operating system: All
Description:

This is a possible improper locking bug, which can lead to resource leaks
and even deadlock. I am not sure whether it can lead to a security
problem.
The problem is that the lock connections_mutex should be released at the end
of the function. But it not released when conn_keywords == NULL ||
conn_values == NULL (ecpg_alloc got errors and return NULL).
Thank you for your checking.

Locations:
https://github.com/postgres/postgres/blob/c30f54ad732ca5c8762bb68bbe0f51de9137dd72/src/interfaces/ecpg/ecpglib/connect.c#L463
https://github.com/postgres/postgres/blob/c30f54ad732ca5c8762bb68bbe0f51de9137dd72/src/interfaces/ecpg/ecpglib/connect.c#L522

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2021-09-10 07:07:26 Re: BUG #17186: In connect.c, the lock connections_mutex is not correctly released(Line 463) at the return(Line 522)
Previous Message Michael Paquier 2021-09-10 02:12:21 Re: BUG #17184: When using openssl, the memory of a static variable is not freed in libpq