Fix #4095 - VdW chopping down to 32bits

This commit is contained in:
pancake 2016-02-10 11:45:25 -06:00
parent 24d76819d0
commit 6b79f915df
5 changed files with 26 additions and 28 deletions

View File

@ -3467,7 +3467,7 @@ static int cmd_anal_all(RCore *core, const char *input) {
r_core_cmd0 (core, "af @ entry0");
break;
case 'n': r_core_cmd0 (core, ".afna @@ fcn.*"); break;
case 'p':
case 'p': // "aap"
if (*input == '?') {
// TODO: accept parameters for ranges
eprintf ("Usage: /aap ; find in memory for function preludes");

View File

@ -410,16 +410,17 @@ static int cmd_meta_hsdmf (RCore *core, const char *input) {
break;
case '-':
switch (input[2]) {
case '*':
core->num->value = r_meta_del (core->anal,
input[0], 0, UT64_MAX, NULL);
break;
case ' ':
addr = r_num_math (core->num, input+3);
default:
core->num->value = r_meta_del (core->anal,
input[0], addr, 1, NULL);
break;
case '*':
core->num->value = r_meta_del (core->anal,
input[0], 0, UT64_MAX, NULL);
break;
case ' ':
addr = r_num_math (core->num, input+3);
/* fallthrough */
default:
core->num->value = r_meta_del (core->anal,
input[0], addr, 1, NULL);
break;
}
break;
case '*':
@ -450,7 +451,7 @@ static int cmd_meta_hsdmf (RCore *core, const char *input) {
t = strdup (input+2);
p = NULL;
n = 0;
strncpy (name, t, sizeof (name)-1);
strncpy (name, t, sizeof (name) - 1);
if (*input != 'C') {
n = r_num_math (core->num, t);
if (type == 'f') {
@ -466,10 +467,9 @@ static int cmd_meta_hsdmf (RCore *core, const char *input) {
* save and reload.
*/
p = strchr (t, ' ');
if (p)
addr = r_num_math (core->num, p+1);
if (p) addr = r_num_math (core->num, p+1);
}
if (!*t || n>0) {
if (!*t || n > 0) {
RFlagItem *fi;
p = strchr (t, ' ');
if (p) {
@ -478,15 +478,16 @@ static int cmd_meta_hsdmf (RCore *core, const char *input) {
} else
switch (type) {
case 'z':
type='s';
type = 's';
/* fallthrough */
case 's':
// TODO: filter \n and so on :)
strncpy (name, t, sizeof (name)-1);
name[sizeof (name)-1] = '\0';
r_core_read_at (core, addr, (ut8*)name, sizeof (name)-1);
if (n < sizeof(name))
if (n < sizeof (name)) {
name[n] = '\0';
else name[sizeof (name)-1] = '\0';
} else name[sizeof (name)-1] = '\0';
break;
default:
fi = r_flag_get_i (core->flags, addr);

View File

@ -1335,9 +1335,9 @@ static int handle_print_meta_infos (RCore * core, RDisasmState *ds, ut8* buf, in
break;
case 8:
{
ut64 *data = (ut64*)(buf+idx);
r_mem_copyendian((ut8*)data, (ut8*)data, 8, !core->print->big_endian);
r_cons_printf (".qword 0x%016x", *data);
ut64 *data = (ut64*)(buf + idx);
r_mem_copyendian ((ut8*)data, (const ut8*)data, 8, !core->print->big_endian);
r_cons_printf (".qword 0x%016"PFMT64x, *data);
}
break;
default:

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2015 - pancake */
/* radare - LGPL - Copyright 2009-2016 - pancake */
#include <r_core.h>

View File

@ -1829,7 +1829,7 @@ R_API void r_core_visual_define (RCore *core) {
p += cur;
}
{
int h;
int h = 0;
(void)r_cons_get_size (&h);
h-=19;
if (h<0) {
@ -1986,11 +1986,8 @@ R_API void r_core_visual_define (RCore *core) {
}
break;
case 'W':
{
int asmbits = 64; //r_config_get_i (core->config, "asm.bits");
r_meta_cleanup (core->anal, off, off+plen);
r_meta_add (core->anal, R_META_TYPE_DATA, off, off+(asmbits/8), "");
}
r_meta_cleanup (core->anal, off, off + plen);
r_meta_add (core->anal, R_META_TYPE_DATA, off, off + (64 / 8), "");
break;
case 'e':
// set function size