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; }
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)); }
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)); }
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; }
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); }