summaryrefslogtreecommitdiff
path: root/src/analysis/binary.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-11-26 18:21:13 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-11-26 18:21:13 (GMT)
commit70a1a55321282d0aa1e7f13d327db21aa25d212a (patch)
treec5ef0d8050af491abb587a01a5c93fed5188353d /src/analysis/binary.c
parentc951852890ce173c4d65450157d42127da2d061c (diff)
Fixed some memory leaks at exit.
Diffstat (limited to 'src/analysis/binary.c')
-rw-r--r--src/analysis/binary.c21
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;
}