diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2012-12-18 23:26:56 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2012-12-18 23:26:56 (GMT) |
commit | cf9ea46a796000f0252bb7d80c0ac0fb170e156a (patch) | |
tree | 4fdab700f2d0fe0e88cf21063e9da516a4f5d5b0 /src | |
parent | f4dbbab3190d13e61f125eea51a0ecec2ab9e897 (diff) |
Fixed a bug when the binary loading fails.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@306 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis/binaries/file.c | 8 | ||||
-rw-r--r-- | src/analysis/binary.c | 22 | ||||
-rw-r--r-- | src/format/format.c | 13 |
3 files changed, 7 insertions, 36 deletions
diff --git a/src/analysis/binaries/file.c b/src/analysis/binaries/file.c index 46307fb..9c43ed5 100644 --- a/src/analysis/binaries/file.c +++ b/src/analysis/binaries/file.c @@ -133,15 +133,9 @@ static void g_file_binary_init(GFileBinary *binary) static void g_file_binary_finalize(GFileBinary *binary) { - gpointer obj_class; /* Classe parente */ - free(binary->filename); - /* On passe le relai */ - - obj_class = g_type_class_peek_parent(G_FILE_BINARY_GET_CLASS(binary)); - - G_OBJECT_CLASS(obj_class)->finalize(G_OBJECT(binary)); + G_OBJECT_CLASS(g_file_binary_parent_class)->finalize(G_OBJECT(binary)); } diff --git a/src/analysis/binary.c b/src/analysis/binary.c index ecf9c79..61f826a 100644 --- a/src/analysis/binary.c +++ b/src/analysis/binary.c @@ -146,18 +146,14 @@ static void g_loaded_binary_init(GLoadedBinary *binary) static void g_loaded_binary_dispose(GLoadedBinary *binary) { - gpointer obj_class; /* Classe parente */ - - g_object_unref(G_OBJECT(binary->format)); - g_object_unref(G_OBJECT(binary->proc)); + if (binary->format != NULL) + g_object_unref(G_OBJECT(binary->format)); + if (binary->proc != NULL) + g_object_unref(G_OBJECT(binary->proc)); /* TODO... */ - /* On passe le relai */ - - obj_class = g_type_class_peek_parent(G_FILE_BINARY_GET_CLASS(binary)); - - G_OBJECT_CLASS(obj_class)->dispose(G_OBJECT(binary)); + G_OBJECT_CLASS(g_loaded_binary_parent_class)->dispose(G_OBJECT(binary)); } @@ -176,15 +172,9 @@ static void g_loaded_binary_dispose(GLoadedBinary *binary) static void g_loaded_binary_finalize(GLoadedBinary *binary) { - gpointer obj_class; /* Classe parente */ - /* TODO */ - /* On passe le relai */ - - obj_class = g_type_class_peek_parent(G_FILE_BINARY_GET_CLASS(binary)); - - G_OBJECT_CLASS(obj_class)->finalize(G_OBJECT(binary)); + G_OBJECT_CLASS(g_loaded_binary_parent_class)->finalize(G_OBJECT(binary)); } diff --git a/src/format/format.c b/src/format/format.c index f1ea4d4..c7d95c4 100644 --- a/src/format/format.c +++ b/src/format/format.c @@ -510,10 +510,6 @@ GBinFormat *load_new_format(FormatType type, char *filename, bin_t **content, of result = NULL; - printf("analysing... %s\n", filename); - - - tmp = strdup(filename); pglist = get_all_plugins_for_action(PGA_FORMAT_MATCHER, &pgcount); @@ -545,9 +541,6 @@ GBinFormat *load_new_format(FormatType type, char *filename, bin_t **content, of if (tmp == NULL) free(tmp); - - - for (i = 0; i < FID_COUNT && result == NULL; i++) if (_formats[i].type == type && _formats[i].match(type, *content, *length)) { @@ -557,12 +550,6 @@ GBinFormat *load_new_format(FormatType type, char *filename, bin_t **content, of } - - - printf("FINAL FORMAT :: %p\n", result); - - //exit(0); - return result; } |