Changeset: e0d45a4f0d50 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e0d45a4f0d50
Modified Files:
clients/odbc/driver/SQLColumnPrivileges.c
clients/odbc/driver/SQLColumns.c
clients/odbc/driver/SQLPrepare.c
clients/odbc/driver/SQLPrimaryKeys.c
clients/odbc/driver/SQLProcedures.c
clients/odbc/driver/SQLSpecialColumns.c
clients/odbc/driver/SQLStatistics.c
clients/odbc/driver/SQLTablePrivileges.c
geom/monetdb5/geom.c
Branch: Jan2014
Log Message:
Fixed some errors that were found by Coverity.
diffs (177 lines):
diff --git a/clients/odbc/driver/SQLColumnPrivileges.c
b/clients/odbc/driver/SQLColumnPrivileges.c
--- a/clients/odbc/driver/SQLColumnPrivileges.c
+++ b/clients/odbc/driver/SQLColumnPrivileges.c
@@ -234,6 +234,7 @@ SQLColumnPrivileges_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
@@ -242,8 +243,6 @@ SQLColumnPrivileges_(ODBCStmt *stmt,
free(tab);
if (col)
free(col);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/clients/odbc/driver/SQLColumns.c b/clients/odbc/driver/SQLColumns.c
--- a/clients/odbc/driver/SQLColumns.c
+++ b/clients/odbc/driver/SQLColumns.c
@@ -531,6 +531,7 @@ SQLColumns_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
@@ -539,8 +540,6 @@ SQLColumns_(ODBCStmt *stmt,
free(tab);
if (col)
free(col);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/clients/odbc/driver/SQLPrepare.c b/clients/odbc/driver/SQLPrepare.c
--- a/clients/odbc/driver/SQLPrepare.c
+++ b/clients/odbc/driver/SQLPrepare.c
@@ -178,8 +178,9 @@ SQLPrepare_(ODBCStmt *stmt,
if (rec->sql_desc_schema_name) {
/* base table name and base column
* name exist if there is a schema
- * name */
- rec->sql_desc_base_table_name = (SQLCHAR *)
strdup((char *) rec->sql_desc_table_name);
+ * name; the extra check is for static
+ * code analyzers and robustness */
+ rec->sql_desc_base_table_name =
rec->sql_desc_table_name ? (SQLCHAR *) strdup((char *)
rec->sql_desc_table_name) : NULL;
rec->sql_desc_base_column_name = (SQLCHAR *)
strdup((char *) rec->sql_desc_name);
} else {
rec->sql_desc_base_table_name = NULL;
diff --git a/clients/odbc/driver/SQLPrimaryKeys.c
b/clients/odbc/driver/SQLPrimaryKeys.c
--- a/clients/odbc/driver/SQLPrimaryKeys.c
+++ b/clients/odbc/driver/SQLPrimaryKeys.c
@@ -191,14 +191,13 @@ SQLPrimaryKeys_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
free(sch);
if (tab)
free(tab);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/clients/odbc/driver/SQLProcedures.c
b/clients/odbc/driver/SQLProcedures.c
--- a/clients/odbc/driver/SQLProcedures.c
+++ b/clients/odbc/driver/SQLProcedures.c
@@ -192,14 +192,13 @@ SQLProcedures_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
free(sch);
if (pro)
free(pro);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/clients/odbc/driver/SQLSpecialColumns.c
b/clients/odbc/driver/SQLSpecialColumns.c
--- a/clients/odbc/driver/SQLSpecialColumns.c
+++ b/clients/odbc/driver/SQLSpecialColumns.c
@@ -519,6 +519,8 @@ SQLSpecialColumns_(ODBCStmt *stmt,
"cast(0 as smallint) as decimal_digits, "
"cast(0 as smallint) as pseudo_column "
"where 0 = 1");
+ if (query == NULL)
+ goto nomem;
query_end = query + strlen(query);
}
@@ -532,14 +534,13 @@ SQLSpecialColumns_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
free(sch);
if (tab)
free(tab);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/clients/odbc/driver/SQLStatistics.c
b/clients/odbc/driver/SQLStatistics.c
--- a/clients/odbc/driver/SQLStatistics.c
+++ b/clients/odbc/driver/SQLStatistics.c
@@ -273,14 +273,13 @@ SQLStatistics_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
free(sch);
if (tab)
free(tab);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/clients/odbc/driver/SQLTablePrivileges.c
b/clients/odbc/driver/SQLTablePrivileges.c
--- a/clients/odbc/driver/SQLTablePrivileges.c
+++ b/clients/odbc/driver/SQLTablePrivileges.c
@@ -209,14 +209,13 @@ SQLTablePrivileges_(ODBCStmt *stmt,
return rc;
nomem:
+ /* note that query must be NULL when we get here */
if (cat)
free(cat);
if (sch)
free(sch);
if (tab)
free(tab);
- if (query)
- free(query);
/* Memory allocation error */
addStmtError(stmt, "HY001", NULL, 0);
return SQL_ERROR;
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -781,10 +781,13 @@ wkbcreatepoint_bat(int *out, int *ix, in
for (i = 0, o = BUNlast(bo); i < BATcount(bx); i++, o++) {
str err = NULL;
if ((err = wkbcreatepoint(&p, &x[i], &y[i])) != MAL_SUCCEED) {
+ str msg;
BBPreleaseref(bx->batCacheid);
BBPreleaseref(by->batCacheid);
BBPreleaseref(bo->batCacheid);
- throw(MAL, "geom.point", "%s", err);
+ msg = createException(MAL, "geom.point", "%s", err);
+ GDKfree(err);
+ return msg;
}
tfastins_nocheck(bo, o, p, Tsize(bo));
GDKfree(p);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list