Commit 17bab8c3 authored by Michael Meskes's avatar Michael Meskes

Moved some free() calls that coverity correctly complains about.

parent 885a4d3d
...@@ -2026,5 +2026,9 @@ we Jun 21 13:37:00 CEST 2006 ...@@ -2026,5 +2026,9 @@ we Jun 21 13:37:00 CEST 2006
- Added some more coverity report patches send in by Martijn van - Added some more coverity report patches send in by Martijn van
Oosterhout <kleptog@svana.org>. Oosterhout <kleptog@svana.org>.
Su Jun 25 11:27:46 CEST 2006
- Moved some free() calls that coverity correctly complains about.
- 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.
/* dynamic SQL support routines /* dynamic SQL support routines
* *
* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.15 2006/06/21 10:24:40 meskes Exp $ * $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/descriptor.c,v 1.16 2006/06/25 09:38:39 meskes Exp $
*/ */
#define POSTGRES_ECPG_INTERNAL #define POSTGRES_ECPG_INTERNAL
...@@ -349,7 +349,7 @@ ECPGget_desc(int lineno, const char *desc_name, int index,...) ...@@ -349,7 +349,7 @@ ECPGget_desc(int lineno, const char *desc_name, int index,...)
return false; return false;
} }
/* allocate storage if needed */ /* allocate storage if needed */
if (arrsize == 0 && var != NULL && *(void **) var == NULL) if (arrsize == 0 && *(void **) var == NULL)
{ {
void *mem = (void *) ECPGalloc(offset * ntuples, lineno); void *mem = (void *) ECPGalloc(offset * ntuples, lineno);
if (!mem) if (!mem)
......
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.48 2006/06/21 11:38:07 meskes Exp $ */ /* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/execute.c,v 1.49 2006/06/25 09:38:39 meskes Exp $ */
/* /*
* The aim is to get a simpler inteface to the database routines. * The aim is to get a simpler inteface to the database routines.
...@@ -896,7 +896,7 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia ...@@ -896,7 +896,7 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
if (!(mallocedval = ECPGrealloc(mallocedval, strlen(mallocedval) + slen + sizeof("array [] "), lineno))) if (!(mallocedval = ECPGrealloc(mallocedval, strlen(mallocedval) + slen + sizeof("array [] "), lineno)))
{ {
PGTYPESnumeric_free(nval); PGTYPESnumeric_free(nval);
free(str); ECPGfree(str);
return false; return false;
} }
...@@ -905,8 +905,9 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia ...@@ -905,8 +905,9 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
strncpy(mallocedval + strlen(mallocedval), str, slen + 1); strncpy(mallocedval + strlen(mallocedval), str, slen + 1);
strcpy(mallocedval + strlen(mallocedval), ","); strcpy(mallocedval + strlen(mallocedval), ",");
ECPGfree(str);
PGTYPESnumeric_free(nval);
} }
PGTYPESnumeric_free(nval);
strcpy(mallocedval + strlen(mallocedval) - 1, "]"); strcpy(mallocedval + strlen(mallocedval) - 1, "]");
} }
else else
...@@ -929,12 +930,12 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia ...@@ -929,12 +930,12 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
strncpy(mallocedval, str, slen); strncpy(mallocedval, str, slen);
mallocedval[slen] = '\0'; mallocedval[slen] = '\0';
ECPGfree(str);
PGTYPESnumeric_free(nval);
} }
*tobeinserted_p = mallocedval; *tobeinserted_p = mallocedval;
*malloced_p = true; *malloced_p = true;
PGTYPESnumeric_free(nval);
free(str);
} }
break; break;
...@@ -964,6 +965,7 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia ...@@ -964,6 +965,7 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
strcpy(mallocedval + strlen(mallocedval), "interval "); strcpy(mallocedval + strlen(mallocedval), "interval ");
strncpy(mallocedval + strlen(mallocedval), str, slen + 1); strncpy(mallocedval + strlen(mallocedval), str, slen + 1);
strcpy(mallocedval + strlen(mallocedval), ","); strcpy(mallocedval + strlen(mallocedval), ",");
ECPGfree(str);
} }
strcpy(mallocedval + strlen(mallocedval) - 1, "]"); strcpy(mallocedval + strlen(mallocedval) - 1, "]");
} }
...@@ -983,11 +985,11 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia ...@@ -983,11 +985,11 @@ ECPGstore_input(const int lineno, const bool force_indicator, const struct varia
strcpy(mallocedval, "interval "); strcpy(mallocedval, "interval ");
/* also copy trailing '\0' */ /* also copy trailing '\0' */
strncpy(mallocedval + strlen(mallocedval), str, slen + 1); strncpy(mallocedval + strlen(mallocedval), str, slen + 1);
ECPGfree(str);
} }
*tobeinserted_p = mallocedval; *tobeinserted_p = mallocedval;
*malloced_p = true; *malloced_p = true;
ECPGfree(str);
} }
break; break;
...@@ -1163,6 +1165,7 @@ ECPGexecute(struct statement * stmt) ...@@ -1163,6 +1165,7 @@ ECPGexecute(struct statement * stmt)
if (desc == NULL) if (desc == NULL)
{ {
ECPGraise(stmt->lineno, ECPG_UNKNOWN_DESCRIPTOR, ECPG_SQLSTATE_INVALID_SQL_DESCRIPTOR_NAME, var->pointer); ECPGraise(stmt->lineno, ECPG_UNKNOWN_DESCRIPTOR, ECPG_SQLSTATE_INVALID_SQL_DESCRIPTOR_NAME, var->pointer);
ECPGfree(copiedquery);
return false; return false;
} }
...@@ -1194,7 +1197,10 @@ ECPGexecute(struct statement * stmt) ...@@ -1194,7 +1197,10 @@ ECPGexecute(struct statement * stmt)
desc_inlist.ind_offset = 0; desc_inlist.ind_offset = 0;
} }
if (!ECPGstore_input(stmt->lineno, stmt->force_indicator, &desc_inlist, &tobeinserted, &malloced)) if (!ECPGstore_input(stmt->lineno, stmt->force_indicator, &desc_inlist, &tobeinserted, &malloced))
{
ECPGfree(copiedquery);
return false; return false;
}
break; break;
} }
......
...@@ -23,7 +23,7 @@ namespace N ...@@ -23,7 +23,7 @@ namespace N
#endif #endif
int main(void) int main(void)
{ struct sa x,*y; { struct sa x,*y=&x;
exec sql begin declare section; exec sql begin declare section;
int a=(int)2; int a=(int)2;
int b=2+2; int b=2+2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment