From 27459b7deb37babd52289bf802a2e8dfd01bb0e0 Mon Sep 17 00:00:00 2001 From: alvaro_fe Date: Thu, 24 Mar 2016 17:28:41 +0100 Subject: [PATCH] fix latest covs --- libr/core/anal.c | 51 +++++++++++++++++++++++------------------- libr/core/cmd_print.c | 8 +++++-- libr/core/cmd_search.c | 6 ++++- 3 files changed, 39 insertions(+), 26 deletions(-) diff --git a/libr/core/anal.c b/libr/core/anal.c index 1a948d10cd..cc07672df6 100644 --- a/libr/core/anal.c +++ b/libr/core/anal.c @@ -1142,23 +1142,24 @@ R_API void r_core_anal_coderefs(RCore *core, ut64 addr, int fmt) { RAnalFunction *fcni; RAnalRef *fcnr; - if (fmt==2) r_cons_printf ("["); + if (fmt == 2) + r_cons_printf ("["); first = 0; r_list_foreach (core->anal->fcns, iter, fcni) { if (addr != 0 && addr != fcni->addr) continue; - if (fmt==0) { + if (fmt == 0) { r_cons_printf ("0x%08"PFMT64x"\n", fcni->addr); - } else if (fmt==2) { + } else if (fmt == 2) { //r_cons_printf ("{\"name\":\"%s\", \"size\":%d,\"imports\":[", fcni->name, fcni->size); - if (hideempty && r_list_length (fcni->refs)==0) + if (hideempty && r_list_length (fcni->refs) == 0) continue; if (usenames) r_cons_printf ("%s{\"name\":\"%s\", \"size\":%d,\"imports\":[", - first?",":"",fcni->name, fcni->size); + first?",":"", fcni->name, fcni->size); else r_cons_printf ("%s{\"name\":\"0x%08"PFMT64x"\", \"size\":%d,\"imports\":[", - first?",":"",fcni->addr, fcni->size); + first?",":"", fcni->addr, fcni->size); first = 1; } first2 = 0; @@ -1174,7 +1175,7 @@ R_API void r_core_anal_coderefs(RCore *core, ut64 addr, int fmt) { } } if (!is_html && !showhdr) { - if (fmt==1) { + if (fmt == 1) { r_cons_printf ("digraph code {\n" "\tgraph [bgcolor=white];\n" "\tnode [color=lightgray, style=filled shape=box" @@ -1186,34 +1187,38 @@ R_API void r_core_anal_coderefs(RCore *core, ut64 addr, int fmt) { // TODO: display only code or data refs? RFlagItem *flag = r_flag_get_i (core->flags, fcnr->addr); if (fmt == 1) { -if (flag && flag->name) { - r_cons_printf ("\t\"0x%08"PFMT64x"\" -> \"0x%08"PFMT64x"\" " - "[label=\"%s\" color=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n", - fcni->addr, fcnr->addr, flag?flag->name:"", - (fcnr->type==R_ANAL_REF_TYPE_CODE || - fcnr->type==R_ANAL_REF_TYPE_CALL)?"green":"red", - flag? flag->name: "", fcnr->addr); - r_cons_printf ("\t\"0x%08"PFMT64x"\" " - "[label=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n", - fcnr->addr, flag? flag->name: fr->name, - flag? flag->name: "", fcnr->addr); -} - } else if (fmt==2) { + if (flag && flag->name) { + r_cons_printf ("\t\"0x%08"PFMT64x"\" -> \"0x%08"PFMT64x"\" " + "[label=\"%s\" color=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n", + fcni->addr, fcnr->addr, flag->name, + (fcnr->type==R_ANAL_REF_TYPE_CODE || + fcnr->type==R_ANAL_REF_TYPE_CALL)?"green":"red", + flag->name, fcnr->addr); + r_cons_printf ("\t\"0x%08"PFMT64x"\" " + "[label=\"%s\" URL=\"%s/0x%08"PFMT64x"\"];\n", + fcnr->addr, flag->name, + flag->name, fcnr->addr); + } + } else if (fmt == 2) { if (fr) { if (!hideempty || (hideempty && r_list_length (fr->refs)>0)) { if (usenames) r_cons_printf ("%s\"%s\"", first2?",":"", fr->name); - else r_cons_printf ("%s\"0x%08"PFMT64x"\"", first2?",":"", fr->addr); + else + r_cons_printf ("%s\"0x%08"PFMT64x"\"", first2?",":"", fr->addr); first2 = 1; } } - } else r_cons_printf (" - 0x%08"PFMT64x" (%c)\n", fcnr->addr, fcnr->type); + } else { + r_cons_printf (" - 0x%08"PFMT64x" (%c)\n", fcnr->addr, fcnr->type); + } } if (fmt==2) r_cons_printf ("]}"); } if (showhdr && fmt==1) r_cons_printf ("}\n"); - if (fmt==2) r_cons_printf ("]\n"); + if (fmt == 2) + r_cons_printf ("]\n"); } static void fcn_list_bbs(RAnalFunction *fcn) { diff --git a/libr/core/cmd_print.c b/libr/core/cmd_print.c index 6cd5e3850b..4397a50121 100644 --- a/libr/core/cmd_print.c +++ b/libr/core/cmd_print.c @@ -1569,7 +1569,7 @@ static void cmd_print_pv(RCore *core, const char *input) { } /* fallthrough */ case ' ': - for (i=0;stack[i]; i++) { + for (i = 0; stack[i]; i++) { if (!strcmp (input+1, stack[i])) { if (type == 'z') { r_core_cmdf (core, "ps @ [`drn sp`+%d]", n * i); @@ -1580,10 +1580,14 @@ static void cmd_print_pv(RCore *core, const char *input) { } break; case 'j': + { + char *str = r_core_cmd_str (core, "ps @ [$$]"); r_cons_printf ("{\"value\":%"PFMT64d",\"string\":\"%s\"}\n", r_num_get (core->num, "[$$]"), - r_core_cmd_str (core, "ps @ [$$]") + str ); + free (str); + } break; case '?': eprintf ("Usage: pv[z] [ret arg#]\n"); diff --git a/libr/core/cmd_search.c b/libr/core/cmd_search.c index 94622fc0d1..afa7a88b80 100644 --- a/libr/core/cmd_search.c +++ b/libr/core/cmd_search.c @@ -187,6 +187,7 @@ R_API int r_core_search_prelude(RCore *core, ut64 from, ut64 to, const ut8 *buf, // TODO: handle sections ? if (from >= to) { eprintf ("aap: Invalid search range 0x%08"PFMT64x" - 0x%08"PFMT64x"\n", from, to); + free (b); return 0; } r_search_reset (core->search, R_SEARCH_KEYWORD); @@ -287,10 +288,13 @@ R_API int r_core_search_preludes(RCore *core) { default: eprintf ("ap: Unsupported bits: %d\n", bits); } - } else eprintf ("ap: Unsupported asm.arch and asm.bits\n"); + } else { + eprintf ("ap: Unsupported asm.arch and asm.bits\n"); + } eprintf ("done\n"); } fc1 = count_functions (core); + r_list_free (list); eprintf ("Analyzed %d functions based on preludes\n", fc1 - fc0); return ret; }