diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2017-01-20 06:48:11 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2017-01-20 06:48:11 (GMT) |
commit | dac61a1c5fdb5e3630dc0907a5e0e1a22789de9d (patch) | |
tree | b3bb7d61cf3bdf486477b375a257ad904960556b /src/analysis/disass | |
parent | 9361ac7e383839c85d536ba65722b4215e1589c0 (diff) |
Ensured all block closing marks have an existing address.
Diffstat (limited to 'src/analysis/disass')
-rw-r--r-- | src/analysis/disass/output.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/analysis/disass/output.c b/src/analysis/disass/output.c index e20a134..a6e5f51 100644 --- a/src/analysis/disass/output.c +++ b/src/analysis/disass/output.c @@ -143,7 +143,7 @@ void print_disassembled_instructions(GBufferCache *cache, GCodingLanguage *lang, { expect_outro = false; - border = g_border_generator_new(lang, &outro_addr, false, msize); + border = g_border_generator_new(lang, iaddr, false, msize); g_buffer_cache_append(cache, G_LINE_GENERATOR(border), BLF_NONE); } @@ -212,6 +212,18 @@ void print_disassembled_instructions(GBufferCache *cache, GCodingLanguage *lang, /* Mémorisation de la fin */ + /** + * On ne peut pas utiliser l'adresse obtenue dans outro_addr + * comme localisation de la marque de clôture. En effet, en + * fin du contenu ou de segment, l'adresse générée peut être + * inexistante. + * + * On utilise donc l'adresse de l'instruction suivante. + * + * On est cependant bien conscient qu'une instruction suivante + * est nécessaire pour imprimer cette marque de clôture. + */ + compute_mrange_end_addr(g_binary_symbol_get_range(symbols[sym_index]), &outro_addr); expect_outro = true; |