Fix some potential segmentation faults

This commit is contained in:
whydoubt 2005-06-17 02:42:18 +00:00
parent e6c4050c74
commit 707a7ac399
2 changed files with 3 additions and 1 deletions

View File

@ -2,6 +2,7 @@ Thu Jun 16 21:19:37 CDT 2005 Jeff Smith <whydoubt@yahoo.com>
* src/libmdb/data.c: Fix segmentation fault
* src/libmdb/write.c: Fix bug in handling certain 'jump tables'
* src/util/mdb-schema.c: Handle 'file not found' case
* src/libmdb/catalog.c: Fix some potential segmentation faults
Mon May 2 07:28:58 CDT 2005 Jeff Smith <whydoubt@yahoo.com>
* include/mdbtools.h:

View File

@ -51,7 +51,7 @@ void mdb_free_catalog(MdbHandle *mdb)
{
unsigned int i;
if (!mdb->catalog) return;
if ((!mdb) || (!mdb->catalog)) return;
for (i=0; i<mdb->catalog->len; i++)
g_free (g_ptr_array_index(mdb->catalog, i));
g_ptr_array_free(mdb->catalog, TRUE);
@ -68,6 +68,7 @@ GPtrArray *mdb_read_catalog (MdbHandle *mdb, int objtype)
char obj_flags[256];
int type;
if (!mdb) return NULL;
if (mdb->catalog) mdb_free_catalog(mdb);
mdb->catalog = g_ptr_array_new();
mdb->num_catalog = 0;