mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
Do not use already free'ed errmsg, bug found by Joachim Wieland
<joachim.wieland@credativ.de>
This commit is contained in:
@ -1996,15 +1996,24 @@ Tu Feb 7 18:48:14 CET 2006
|
|||||||
|
|
||||||
Fri, 17 Mar 2006 16:38:19 +0100
|
Fri, 17 Mar 2006 16:38:19 +0100
|
||||||
|
|
||||||
- Fixed bug 2330: Wrong error code in case of a duplicate key
|
- Fixed bug 2330: Wrong error code in case of a duplicate key.
|
||||||
|
|
||||||
Mo Apr 24 11:40:05 CEST 2006
|
Mo Apr 24 11:40:05 CEST 2006
|
||||||
|
|
||||||
- Fixed memory leak bugs found by Martijn Oosterhout.
|
- Fixed memory leak bugs found by Martijn Oosterhout.
|
||||||
|
|
||||||
Mi Mai 31 10:10:36 CEST 2006
|
We Mai 31 10:10:36 CEST 2006
|
||||||
|
|
||||||
- Fixed PGTYPESdate_from_timestamp because some characters got lost there
|
- Fixed PGTYPESdate_from_timestamp because some characters got lost there.
|
||||||
|
|
||||||
|
Tu Jun 6 12:09:56 CEST 2006
|
||||||
|
|
||||||
|
- Fixed two more memory leaks in ecpglib.
|
||||||
|
- Synced parser.
|
||||||
|
|
||||||
|
Mo Jun 19 11:15:50 CEST 2006
|
||||||
|
|
||||||
|
- Do not use already free'ed errmsg, bug found by Joachim Wieland
|
||||||
|
<joachim.wieland@credativ.de>
|
||||||
- Set ecpg library version to 5.2.
|
- Set ecpg library version to 5.2.
|
||||||
- Set ecpg version to 4.2.1.
|
- Set ecpg version to 4.2.1.
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.27 2005/11/30 12:49:49 meskes Exp $ */
|
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.28 2006/06/19 09:19:49 meskes Exp $ */
|
||||||
|
|
||||||
#define POSTGRES_ECPG_INTERNAL
|
#define POSTGRES_ECPG_INTERNAL
|
||||||
#include "postgres_fe.h"
|
#include "postgres_fe.h"
|
||||||
@ -456,10 +456,6 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
|
|||||||
const char *errmsg = PQerrorMessage(this->connection);
|
const char *errmsg = PQerrorMessage(this->connection);
|
||||||
char *db = realname ? realname : "<DEFAULT>";
|
char *db = realname ? realname : "<DEFAULT>";
|
||||||
|
|
||||||
ecpg_finish(this);
|
|
||||||
#ifdef ENABLE_THREAD_SAFETY
|
|
||||||
pthread_mutex_unlock(&connections_mutex);
|
|
||||||
#endif
|
|
||||||
ECPGlog("connect: could not open database %s on %s port %s %s%s%s%s in line %d\n\t%s\n",
|
ECPGlog("connect: could not open database %s on %s port %s %s%s%s%s in line %d\n\t%s\n",
|
||||||
db,
|
db,
|
||||||
host ? host : "<DEFAULT>",
|
host ? host : "<DEFAULT>",
|
||||||
@ -468,6 +464,11 @@ ECPGconnect(int lineno, int c, const char *name, const char *user, const char *p
|
|||||||
user ? "for user " : "", user ? user : "",
|
user ? "for user " : "", user ? user : "",
|
||||||
lineno, errmsg);
|
lineno, errmsg);
|
||||||
|
|
||||||
|
ecpg_finish(this);
|
||||||
|
#ifdef ENABLE_THREAD_SAFETY
|
||||||
|
pthread_mutex_unlock(&connections_mutex);
|
||||||
|
#endif
|
||||||
|
|
||||||
ECPGraise(lineno, ECPG_CONNECT, ECPG_SQLSTATE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION, db);
|
ECPGraise(lineno, ECPG_CONNECT, ECPG_SQLSTATE_SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION, db);
|
||||||
if (host)
|
if (host)
|
||||||
ECPGfree(host);
|
ECPGfree(host);
|
||||||
|
Reference in New Issue
Block a user