aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2006-06-21 11:38:07 +0000
committerMichael Meskes <meskes@postgresql.org>2006-06-21 11:38:07 +0000
commit3f9aace723213b2d2c34cd74144b675faced3a25 (patch)
treea19fd51b74d525f3db49e752a6ca277c30098971 /src
parent6bba43111eca3ae61a6c77692554a1c9dcb5f05e (diff)
downloadpostgresql-3f9aace723213b2d2c34cd74144b675faced3a25.tar.gz
postgresql-3f9aace723213b2d2c34cd74144b675faced3a25.zip
Added some more coverity report patches send in by Martijn van Oosterhout <kleptog@svana.org>.
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/ecpg/ChangeLog5
-rw-r--r--src/interfaces/ecpg/ecpglib/connect.c5
-rw-r--r--src/interfaces/ecpg/ecpglib/execute.c4
-rw-r--r--src/interfaces/ecpg/ecpglib/misc.c4
4 files changed, 13 insertions, 5 deletions
diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 9a7d7586326..9ddb041087b 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -2021,5 +2021,10 @@ We Jun 21 09:24:53 CEST 2006
- Added fixes from the coverity report send in by Joachim Wieland
<joe@mcknight.de>.
- Added missing error handling in a few functions in ecpglib.
+
+we Jun 21 13:37:00 CEST 2006
+
+ - Added some more coverity report patches send in by Martijn van
+ Oosterhout <kleptog@svana.org>.
- Set ecpg library version to 5.2.
- Set ecpg version to 4.2.1.
diff --git a/src/interfaces/ecpg/ecpglib/connect.c b/src/interfaces/ecpg/ecpglib/connect.c
index 5de287c973b..3cba42d25ff 100644
--- a/src/interfaces/ecpg/ecpglib/connect.c
+++ b/src/interfaces/ecpg/ecpglib/connect.c
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.29 2006/06/21 10:24:40 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/connect.c,v 1.30 2006/06/21 11:38:07 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
@@ -227,6 +227,9 @@ ECPGnoticeReceiver(void *arg, const PGresult *result)
if (sqlstate == NULL)
sqlstate = ECPG_SQLSTATE_ECPG_INTERNAL_ERROR;
+ if (message == NULL) /* Shouldn't happen, but need to be sure */
+ message = "No message received";
+
/* these are not warnings */
if (strncmp(sqlstate, "00", 2) == 0)
return;
diff --git a/src/interfaces/ecpg/ecpglib/execute.c b/src/interfaces/ecpg/ecpglib/execute.c
index c2ff9b6de92..fc2af975470 100644
--- a/src/interfaces/ecpg/ecpglib/execute.c
+++ b/src/interfaces/ecpg/ecpglib/execute.c
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.47 2006/06/21 10:24:40 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.48 2006/06/21 11:38:07 meskes Exp $ */
/*
* The aim is to get a simpler inteface to the database routines.
@@ -891,7 +891,6 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
PGTYPESnumeric_from_decimal((decimal *) ((var + var->offset * element)->value), nval);
str = PGTYPESnumeric_to_asc(nval, nval->dscale);
- PGTYPESnumeric_free(nval);
slen = strlen(str);
if (!(mallocedval = ECPGrealloc(mallocedval, strlen(mallocedval) + slen + sizeof("array [] "), lineno)))
@@ -907,6 +906,7 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
strncpy(mallocedval + strlen(mallocedval), str, slen + 1);
strcpy(mallocedval + strlen(mallocedval), ",");
}
+ PGTYPESnumeric_free(nval);
strcpy(mallocedval + strlen(mallocedval) - 1, "]");
}
else
diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c
index ff38bfab799..fbe02bac10d 100644
--- a/src/interfaces/ecpg/ecpglib/misc.c
+++ b/src/interfaces/ecpg/ecpglib/misc.c
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.26 2005/10/15 02:49:47 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/misc.c,v 1.27 2006/06/21 11:38:07 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
@@ -179,7 +179,7 @@ ECPGtrans(int lineno, const char *connection_name, const char *transaction)
if (!ECPGinit(con, connection_name, lineno))
return (false);
- ECPGlog("ECPGtrans line %d action = %s connection = %s\n", lineno, transaction, con->name);
+ ECPGlog("ECPGtrans line %d action = %s connection = %s\n", lineno, transaction, con ? con->name : "(nil)");
/* if we have no connection we just simulate the command */
if (con && con->connection)