diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2018-11-26 18:21:13 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2018-11-26 18:21:13 (GMT) |
commit | 70a1a55321282d0aa1e7f13d327db21aa25d212a (patch) | |
tree | c5ef0d8050af491abb587a01a5c93fed5188353d /src/analysis/binary.c | |
parent | c951852890ce173c4d65450157d42127da2d061c (diff) |
Fixed some memory leaks at exit.
Diffstat (limited to 'src/analysis/binary.c')
-rw-r--r-- | src/analysis/binary.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/src/analysis/binary.c b/src/analysis/binary.c index f03ad17..8946311 100644 --- a/src/analysis/binary.c +++ b/src/analysis/binary.c @@ -82,7 +82,6 @@ struct _GLoadedBinary GExeFormat *format; /* Format du binaire */ GArchProcessor *proc; /* Architecture du binaire */ - GBufferCache *disass_cache; /* Instructions lisibles */ //GCodeBuffer **dec_buffers; /* Sources sous forme de texte */ size_t decbuf_count; /* Taille des tableaux */ @@ -308,18 +307,18 @@ static void g_loaded_binary_dispose(GLoadedBinary *binary) { BinaryView i; /* Boucle de parcours */ - if (binary->format != NULL) - g_object_unref(G_OBJECT(binary->format)); - - if (binary->proc != NULL) - g_object_unref(G_OBJECT(binary->proc)); + g_clear_object(&binary->local); + g_clear_object(&binary->remote); - /* TODO... */ + delete_collections_list(&binary->collections); + g_clear_object(&binary->format); + g_clear_object(&binary->proc); + g_clear_object(&binary->disass_cache); for (i = 0; i < BVW_COUNT; i++) - g_object_unref(G_OBJECT(binary->options[i])); + g_clear_object(&binary->options[i]); G_OBJECT_CLASS(g_loaded_binary_parent_class)->dispose(G_OBJECT(binary)); @@ -342,7 +341,7 @@ static void g_loaded_binary_finalize(GLoadedBinary *binary) { free(binary->username); - /* TODO... */ + free(binary->remote_host); G_OBJECT_CLASS(g_loaded_binary_parent_class)->finalize(G_OBJECT(binary)); @@ -1063,15 +1062,11 @@ GDbCollection *g_loaded_binary_find_collection(const GLoadedBinary *binary, DBFe { GDbCollection *result; /* Collection à retourner */ - /* TODO : lock */ - result = find_collection_in_list(binary->collections, feature); if (result != NULL) g_object_ref(G_OBJECT(result)); - /* TODO : unlock */ - return result; } |