Fixed a couple of potential memory leaks

This commit is contained in:
whydoubt
2004-05-28 12:20:17 +00:00
parent 39aaec1a75
commit 809ba65541
2 changed files with 20 additions and 11 deletions

View File

@@ -1,3 +1,6 @@
Fri May 28 06:55:55 CDT 2004 Jeff Smith <whydoubt@yahoo.com>
* src/libmdb/mem.c: Fixed a couple of potential memory leaks
Sun May 2 06:31:17 EDT 2004 Brian Bruns <brian@bruns.com> Sun May 2 06:31:17 EDT 2004 Brian Bruns <brian@bruns.com>
* src/util/mdb-tables.c: Add -t flag to specify object type * src/util/mdb-tables.c: Add -t flag to specify object type
* src/util/mdb-props.c: Handle any object type, not just tables * src/util/mdb-props.c: Handle any object type, not just tables

View File

@@ -72,21 +72,17 @@ void mdb_alloc_catalog(MdbHandle *mdb)
void mdb_free_catalog(MdbHandle *mdb) void mdb_free_catalog(MdbHandle *mdb)
{ {
unsigned int i; unsigned int i;
MdbCatalogEntry *entry;
if (!mdb->catalog) return; if (!mdb->catalog) return;
for (i=0; i<mdb->catalog->len; i++)
for (i=0; i<mdb->catalog->len; i++) { g_free (g_ptr_array_index(mdb->catalog, i));
entry = g_ptr_array_index(mdb->catalog, i);
g_free (entry);
}
g_ptr_array_free(mdb->catalog, TRUE); g_ptr_array_free(mdb->catalog, TRUE);
mdb->catalog = NULL; mdb->catalog = NULL;
} }
MdbTableDef *mdb_alloc_tabledef(MdbCatalogEntry *entry) MdbTableDef *mdb_alloc_tabledef(MdbCatalogEntry *entry)
{ {
MdbTableDef *table; MdbTableDef *table;
table = (MdbTableDef *) malloc(sizeof(MdbTableDef)); table = (MdbTableDef *) malloc(sizeof(MdbTableDef));
memset(table, '\0', sizeof(MdbTableDef)); memset(table, '\0', sizeof(MdbTableDef));
@@ -107,7 +103,7 @@ mdb_free_tabledef(MdbTableDef *table)
void void
mdb_append_column(GPtrArray *columns, MdbColumn *in_col) mdb_append_column(GPtrArray *columns, MdbColumn *in_col)
{ {
MdbColumn *col; MdbColumn *col;
col = g_memdup(in_col,sizeof(MdbColumn)); col = g_memdup(in_col,sizeof(MdbColumn));
g_ptr_array_add(columns, col); g_ptr_array_add(columns, col);
@@ -115,13 +111,18 @@ MdbColumn *col;
void void
mdb_free_columns(GPtrArray *columns) mdb_free_columns(GPtrArray *columns)
{ {
unsigned int i;
if (!columns) return;
for (i=0; i<columns->len; i++)
g_free (g_ptr_array_index(columns, i));
g_ptr_array_free(columns, TRUE); g_ptr_array_free(columns, TRUE);
} }
void void
mdb_append_index(GPtrArray *indices, MdbIndex *in_idx) mdb_append_index(GPtrArray *indices, MdbIndex *in_idx)
{ {
MdbIndex *idx; MdbIndex *idx;
idx = g_memdup(in_idx,sizeof(MdbIndex)); idx = g_memdup(in_idx,sizeof(MdbIndex));
g_ptr_array_add(indices, idx); g_ptr_array_add(indices, idx);
@@ -129,5 +130,10 @@ MdbIndex *idx;
void void
mdb_free_indices(GPtrArray *indices) mdb_free_indices(GPtrArray *indices)
{ {
unsigned int i;
if (!indices) return;
for (i=0; i<indices->len; i++)
g_free (g_ptr_array_index(indices, i));
g_ptr_array_free(indices, TRUE); g_ptr_array_free(indices, TRUE);
} }