Fix last covs

This commit is contained in:
pancake 2017-07-26 18:46:22 +02:00
parent d87aa3cb69
commit abaac71290
5 changed files with 905 additions and 748 deletions

View File

@ -990,8 +990,11 @@ static int esil_lsl(RAnalEsil *esil) {
if (num2 > sizeof (ut64) * 8) {
ERR ("esil_lsl: shift is too big");
} else {
ut64 res = num << num2;
r_anal_esil_pushnum (esil, res);
if (num2 > 63) {
r_anal_esil_pushnum (esil, 0);
} else {
r_anal_esil_pushnum (esil, num << num2);
}
ret = 1;
}
} else {
@ -1014,7 +1017,11 @@ static int esil_lsleq(RAnalEsil *esil) {
ERR ("esil_lsleq: shift is too big");
} else {
esil->old = num;
num <<= num2;
if (num2 > 63) {
num = 0;
} else {
num <<= num2;
}
esil->cur = num;
esil->lastsz = esil_internal_sizeof_reg (esil, dst);
r_anal_esil_reg_write (esil, dst, num);

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
/* Copyright radare2 2014-2016 - Author: pancake */
/* Copyright radare2 2014-2017 - Author: pancake */
// pls move the typedefs into roons and rename it -> RConsPanel
@ -406,10 +406,12 @@ static void r_core_panels_refresh(RCore *core) {
curnode = menu_pos;
}
// redraw current node to make it appear on top
if (curnode >= 0) {
Panel_print (can, &panels[curnode], 1);
if (panels) {
if (curnode >= 0) {
Panel_print (can, &panels[curnode], 1);
}
Panel_print (can, &panels[menu_pos], menu_y);
}
Panel_print (can, &panels[menu_pos], menu_y);
(void) G (-can->sx, -can->sy);
title[0] = 0;

View File

@ -905,8 +905,8 @@ static int parse(RMagic *ms, struct r_magic_entry **mentryp, ut32 *nmentryp, con
file_oomem (ms, sizeof (*mp) * maxmagic);
return -1;
}
(void)memset(&mp[*nmentryp], 0, sizeof (*mp) *
ALLOC_INCR);
ut8 *p = (ut8*)&mp + *nmentryp;
(void)memset(p, 0, sizeof (*mp) * ALLOC_INCR);
*mentryp = mp;
}
me = &(*mentryp)[*nmentryp];

View File

@ -1,4 +1,4 @@
/* radare - LGPL - Copyright 2009-2016 - pancake */
/* radare - LGPL - Copyright 2009-2017 - pancake */
#include <r_th.h>
@ -22,6 +22,8 @@ static void *_r_th_launcher(void *_th) {
}
#endif
do {
// CID 1378280: API usage errors (LOCK)
// "r_th_lock_leave" unlocks "th->lock->lock" while it is unlocked.
r_th_lock_leave (th->lock);
th->running = true;
ret = th->fun (th);