Example #1
0
R_API bool r_anal_op_fini(RAnalOp *op) {
	if (!op) {
		return false;
	}
	if (((ut64)(size_t)op) == UT64_MAX) {
		return false;
	}
	if (((ut64)(size_t)op->mnemonic) == UT64_MAX) {
		return false;
	}
	r_anal_var_free (op->var);
	r_anal_value_free (op->src[0]);
	r_anal_value_free (op->src[1]);
	r_anal_value_free (op->src[2]);
	r_anal_value_free (op->dst);
	r_strbuf_fini (&op->esil);
	r_anal_switch_op_free (op->switch_op);
	op->src[0] = NULL;
	op->src[1] = NULL;
	op->src[2] = NULL;
	op->dst = NULL;
	op->var = NULL;
	op->switch_op = NULL;
	R_FREE (op->mnemonic);
	R_FREE (op->reg);
	return true;
}
Example #2
0
R_API void r_anal_op_fini(RAnalOp *op) {
	r_anal_value_free (op->src[0]);
	r_anal_value_free (op->src[1]);
	r_anal_value_free (op->src[2]);
	r_anal_value_free (op->dst);
	r_anal_switch_op_free (op->switch_op);
	free (op->mnemonic);
	memset (op, 0, sizeof (RAnalOp));
}
Example #3
0
File: op.c Project: ro0lz/radare2
R_API void r_anal_op_fini(RAnalOp *op) {
    if (!op) // || !op->mnemonic)
        return;
    if (((ut64)(size_t)op) == UT64_MAX) {
        return;
    }
    if (((ut64)(size_t)op->mnemonic) == UT64_MAX) {
        return;
    }
    r_anal_value_free (op->src[0]);
    r_anal_value_free (op->src[1]);
    r_anal_value_free (op->src[2]);
    r_anal_value_free (op->dst);
    r_anal_switch_op_free (op->switch_op);
    free (op->mnemonic);
    memset (op, 0, sizeof (RAnalOp));
}
Example #4
0
File: op.c Project: Maijin/radare2
R_API bool r_anal_op_fini(RAnalOp *op) {
	if (!op) {
		return false;
	}
	r_anal_var_free (op->var);
	op->var = NULL;
	r_anal_value_free (op->src[0]);
	r_anal_value_free (op->src[1]);
	r_anal_value_free (op->src[2]);
	op->src[0] = NULL;
	op->src[1] = NULL;
	op->src[2] = NULL;
	r_anal_value_free (op->dst);
	op->dst = NULL;
	r_strbuf_fini (&op->opex);
	r_strbuf_fini (&op->esil);
	r_anal_switch_op_free (op->switch_op);
	R_FREE (op->mnemonic);
	return true;
}
Example #5
0
R_API void r_anal_bb_free(RAnalBlock *bb) {
	if (!bb) return;
	r_anal_cond_free (bb->cond);
	free (bb->fingerprint);
	if (bb->diff) {
		r_anal_diff_free (bb->diff);
		bb->diff = NULL;
	}
	free (bb->op_bytes);
	if (bb->switch_op)
		r_anal_switch_op_free (bb->switch_op);
#if R_ANAL_BB_HAS_OPS
	r_list_free (bb->ops);
	bb->ops = NULL;
#endif
	bb->fingerprint = NULL;
	bb->cond = NULL;
	free (bb->label);
	free (bb);
}