Fix assigned value is undefined librz/analysis/p/analysis_arm_gnu.c

This commit is contained in:
Alexis Ehret 2021-02-07 19:07:23 +01:00 committed by Riccardo Schirone
parent a7490e65a7
commit de4169ee94

View file

@ -164,12 +164,19 @@ static int op_cond(const ut8 *data) {
return iconds[b];
}
static void switch_to_big_endian(ut8 *dst, const ut8 *src) {
dst[0] = src[3];
dst[1] = src[2];
dst[2] = src[1];
dst[3] = src[0];
}
static int arm_op32(RzAnalysis *analysis, RzAnalysisOp *op, ut64 addr, const ut8 *data, int len) {
const ut8 *b = (ut8 *)data;
ut8 ndata[4];
ut32 branch_dst_addr, i = 0;
ut32 *code = (ut32 *)data;
struct winedbg_arm_insn *arminsn;
ut8 ndata[4];
if (!data) {
return 0;
@ -182,11 +189,8 @@ static int arm_op32(RzAnalysis *analysis, RzAnalysisOp *op, ut64 addr, const ut8
op->type = RZ_ANALYSIS_OP_TYPE_UNK;
if (analysis->big_endian) {
switch_to_big_endian(ndata, data);
b = data = ndata;
ndata[0] = data[3];
ndata[1] = data[2];
ndata[2] = data[1];
ndata[3] = data[0];
}
if (analysis->bits == 16) {
arm_free(arminsn);