Variables should be free'ed only once.

This commit is contained in:
Michael Meskes 2006-07-28 11:49:36 +00:00
parent a27cb17788
commit 76475a7eb5
2 changed files with 6 additions and 15 deletions

View File

@ -2043,7 +2043,7 @@ Mo Jun 26 16:08:23 CEST 2006
We Jul 5 12:17:28 CEST 2006
- Fixed remaining Coverity bugs.
- Fixed most of the remaining Coverity bugs.
Fr Jul 28 11:00:51 CEST 2006
@ -2051,5 +2051,6 @@ Fr Jul 28 11:00:51 CEST 2006
- SHOW statement puts result into a variable
- COPY TO STDOUT works
- Connection identifier has to be unique
- Variables should be free'ed only once.
- Set ecpg library version to 5.2.
- Set ecpg version to 4.2.1.

View File

@ -1,4 +1,4 @@
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.54 2006/07/28 10:12:56 meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.55 2006/07/28 11:49:36 meskes Exp $ */
/*
* The aim is to get a simpler inteface to the database routines.
@ -1049,19 +1049,14 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
case ECPGt_timestamp:
{
char *str = NULL, *asc = NULL;
char *str = NULL;
int slen;
if (var->arrsize > 1)
{
for (element = 0; element < var->arrsize; element++)
{
asc = PGTYPEStimestamp_to_asc(*(timestamp *) ((var + var->offset * element)->value));
if (!asc)
return false;
str = quote_postgres(asc, lineno);
ECPGfree(asc); /* we don't need this anymore so free it asap. */
str = quote_postgres(PGTYPEStimestamp_to_asc(*(timestamp *) ((var + var->offset * element)->value)), lineno);
if (!str)
return false;
@ -1084,12 +1079,7 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
}
else
{
asc = PGTYPEStimestamp_to_asc(*(timestamp *) (var->value));
if (!asc)
return false;
str = quote_postgres(asc, lineno);
ECPGfree(asc); /* we don't need this anymore so free it asap. */
str = quote_postgres(PGTYPEStimestamp_to_asc(*(timestamp *) (var->value)), lineno);
if (!str)
return false;
slen = strlen(str);