浏览代码

db lib: fix memory leak

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@50346 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 13 年之前
父节点
当前提交
afb77161ad
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      lib/db/dbmi_client/column.c

+ 6 - 2
lib/db/dbmi_client/column.c

@@ -54,6 +54,8 @@ int db_column_sqltype(dbDriver * driver, const char *tab, const char *col)
     dbString table_name;
     dbString table_name;
     dbColumn *column;
     dbColumn *column;
     int ncol, cl, type;
     int ncol, cl, type;
+    
+    type = -1;
 
 
     db_init_string(&table_name);
     db_init_string(&table_name);
     db_set_string(&table_name, tab);
     db_set_string(&table_name, tab);
@@ -67,11 +69,13 @@ int db_column_sqltype(dbDriver * driver, const char *tab, const char *col)
 	column = db_get_table_column(table, cl);
 	column = db_get_table_column(table, cl);
 	if (strcmp(db_get_column_name(column), col) == 0) {
 	if (strcmp(db_get_column_name(column), col) == 0) {
 	    type = db_get_column_sqltype(column);
 	    type = db_get_column_sqltype(column);
-	    return type;
+	    break;
 	}
 	}
     }
     }
+    
+    db_free_table(table);
 
 
-    return -1;
+    return type;
 }
 }
 
 
 /*!
 /*!