summaryrefslogtreecommitdiff
path: root/src/analysis/disass/routines.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2017-12-08 20:50:56 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2017-12-08 20:50:56 (GMT)
commit39116dce7d40dab310e929f92fdbfc865b5fac20 (patch)
treea0b8dc11070f8a68de6b6f7bbc84b3d4ccf25afd /src/analysis/disass/routines.c
parentcf11fcf862b98ef57935bcfccd6f2f6ae3f925f6 (diff)
Introduced the symbol visibility.
Diffstat (limited to 'src/analysis/disass/routines.c')
-rw-r--r--src/analysis/disass/routines.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/analysis/disass/routines.c b/src/analysis/disass/routines.c
index 01a6e48..63a32cf 100644
--- a/src/analysis/disass/routines.c
+++ b/src/analysis/disass/routines.c
@@ -233,11 +233,18 @@ static void g_routines_study_process(GRoutinesStudy *study, GtkStatusStack *stat
{
size_t i; /* Boucle de parcours */
GBinSymbol *symbol; /* Commodité d'accès */
+ SymbolStatus sym_status; /* Visibilité du symbole obtenu*/
SymbolType type; /* Type de symbole rencontré */
for (i = study->begin; i < study->end; i++)
{
symbol = study->symbols[i];
+
+ sym_status = g_binary_symbol_get_status(symbol);
+
+ if (sym_status == SSS_IMPORTED)
+ continue;
+
type = g_binary_symbol_get_target_type(symbol);
if (type == STP_ROUTINE || type == STP_ENTRY_POINT)