Fix Objective-C RTTI superclass decoding on big endian (#6588)
Fix Coverity issues: 910855, 910854
This commit is contained in:
parent
e8d6c98fcb
commit
22ce81d719
2 changed files with 3 additions and 10 deletions
|
|
@ -5,16 +5,14 @@
|
|||
#include "analysis_private.h"
|
||||
|
||||
static const RzBinSymbol *get_objc_superclass(RzAnalysis *analysis, const RzPVector /*<RzBinSymbol *>*/ *symbols, const RzBinSymbol *meta_info) {
|
||||
ut64 addr;
|
||||
if (!analysis->iob.read_at(analysis->iob.io, meta_info->vaddr + 8, (ut8 *)&addr, 8)) {
|
||||
ut8 buf[8];
|
||||
if (!analysis->iob.read_at(analysis->iob.io, meta_info->vaddr + 8, buf, sizeof(buf))) {
|
||||
return NULL;
|
||||
}
|
||||
ut64 addr = rz_read_ble64(buf, analysis->big_endian);
|
||||
|
||||
void **it;
|
||||
rz_pvector_foreach (symbols, it) {
|
||||
if (!it) {
|
||||
continue;
|
||||
}
|
||||
RzBinSymbol *super_meta = *it;
|
||||
if (!super_meta) {
|
||||
continue;
|
||||
|
|
@ -59,9 +57,6 @@ RZ_API void rz_analysis_rtti_objc(RZ_NONNULL RzAnalysis *analysis) {
|
|||
const RzPVector *symbols = rz_bin_object_get_symbols(o);
|
||||
void **it;
|
||||
rz_pvector_foreach (symbols, it) {
|
||||
if (!it) {
|
||||
continue;
|
||||
}
|
||||
RzBinSymbol *sym = *it;
|
||||
if (!sym) {
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -226,7 +226,6 @@ static void devirtualize_msg_dispatch(RzCore *core, RzSetU *msg_dispatch_addr) {
|
|||
rz_analysis_op(core->analysis, op, start, bytes + offset, end - start, RZ_ANALYSIS_OP_MASK_ALL);
|
||||
if (refresh_vm) {
|
||||
rz_core_analysis_il_reinit(core);
|
||||
refresh_vm = false;
|
||||
}
|
||||
refresh_vm = is_branch_type_to_method(op);
|
||||
|
||||
|
|
@ -302,7 +301,6 @@ static void devirtualize_msg_super_dispatch(RzCore *core, RzSetU *msg_super_disp
|
|||
}
|
||||
if (refresh_vm) {
|
||||
rz_core_analysis_il_reinit(core);
|
||||
refresh_vm = false;
|
||||
}
|
||||
|
||||
refresh_vm = is_branch_type_to_method(op);
|
||||
|
|
|
|||
Loading…
Reference in a new issue