Fix issues in anal.trace and aei
This commit is contained in:
parent
cc30dc5d83
commit
0b9b018aed
2 changed files with 17 additions and 9 deletions
|
|
@ -1831,7 +1831,7 @@ static void cmd_anal_esil(RCore *core, const char *input) {
|
|||
{
|
||||
const char *pc = r_reg_get_name (core->anal->reg, R_REG_NAME_PC);
|
||||
if (r_reg_getv (core->anal->reg, pc) == 0LL) {
|
||||
r_core_cmd0 (core, "ar pc=$$");
|
||||
r_core_cmd0 (core, "ar PC=$$");
|
||||
}
|
||||
}
|
||||
iotrap = r_config_get_i (core->config, "esil.iotrap");
|
||||
|
|
@ -1841,8 +1841,14 @@ static void cmd_anal_esil(RCore *core, const char *input) {
|
|||
r_anal_esil_setup (esil, core->anal, romem, stats); // setup io
|
||||
esil->debug = (int)r_config_get_i (core->config, "esil.debug");
|
||||
/* restore user settings for interrupt handling */
|
||||
r_config_set (core->config, "cmd.esil.intr",
|
||||
r_config_get (core->config, "cmd.esil.intr"));
|
||||
{
|
||||
const char *s = r_config_get (core->config, "cmd.esil.intr");
|
||||
if (s) {
|
||||
char *my = strdup (s);
|
||||
r_config_set (core->config, "cmd.esil.intr", my);
|
||||
free (my);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -200,13 +200,15 @@ static int cb_asmarch(void *user, void *data) {
|
|||
r_debug_set_arch (core->dbg, node->value, bits);
|
||||
if (!r_config_set (core->config, "anal.arch", node->value)) {
|
||||
char *p, *s = strdup (node->value);
|
||||
p = strchr (s, '.');
|
||||
if (p) *p = 0;
|
||||
if (!r_config_set (core->config, "anal.arch", s)) {
|
||||
/* fall back to the anal.null plugin */
|
||||
r_config_set (core->config, "anal.arch", "null");
|
||||
if (s) {
|
||||
p = strchr (s, '.');
|
||||
if (p) *p = 0;
|
||||
if (!r_config_set (core->config, "anal.arch", s)) {
|
||||
/* fall back to the anal.null plugin */
|
||||
r_config_set (core->config, "anal.arch", "null");
|
||||
}
|
||||
free (s);
|
||||
}
|
||||
free (s);
|
||||
}
|
||||
// set pcalign
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue