diff options
Diffstat (limited to 'src/analysis/disass')
-rw-r--r-- | src/analysis/disass/fetch.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/analysis/disass/fetch.c b/src/analysis/disass/fetch.c index 4686fe2..1f93465 100644 --- a/src/analysis/disass/fetch.c +++ b/src/analysis/disass/fetch.c @@ -56,8 +56,8 @@ GArchInstruction *load_raw_binary(const GLoadedBinary *binary, const vmpa2t *bas GArchProcessor *proc; /* Architecture du binaire */ off_t bin_length; /* Taille des données à lire */ bin_t *bin_data; /* Données binaires à lire */ - vmpa2t *pos; /* Boucle de parcours */ - vmpa2t *prev; /* Boucle de parcours */ + vmpa2t pos; /* Boucle de parcours */ + vmpa2t prev; /* Boucle de parcours */ off_t old_phy; /* Ancienne position physique */ GArchInstruction *instr; /* Instruction décodée */ off_t new_phy; /* Nouvelle position physique */ @@ -70,23 +70,23 @@ GArchInstruction *load_raw_binary(const GLoadedBinary *binary, const vmpa2t *bas end = bin_length; - pos = local_dup_vmpa(base); - prev = local_dup_vmpa(base); + copy_vmpa(&pos, base); + copy_vmpa(&prev, base); - old_phy = get_phy_addr(prev); + old_phy = get_phy_addr(&prev); while (old_phy < end) { - instr = g_db_instruction_new_from_data(bin_data, pos, end, proc); + instr = g_db_instruction_new_from_data(bin_data, &pos, end, proc); if (instr == NULL) break; - new_phy = get_phy_addr(pos); + new_phy = get_phy_addr(&pos); - g_arch_instruction_set_location(instr, prev, new_phy - old_phy); + g_arch_instruction_set_location(instr, &prev, new_phy - old_phy); g_arch_instruction_add_to_list(&result, instr); - copy_vmpa(prev, pos); - old_phy = get_phy_addr(prev); + copy_vmpa(&prev, &pos); + old_phy = get_phy_addr(&prev); //done += (new_phy - old_phy); //gtk_extended_status_bar_update_activity(statusbar, id, done * 1.0 / sum); |