@@ -331,9 +331,6 @@ static void get_ivar_list(RBinFile *bf, RBinClass *klass, mach0_ut p) {
331331 return ;
332332 }
333333 field = R_NEW0 (RBinField );
334- if (!field ) {
335- break ;
336- }
337334 memset (& i , '\0' , sizeof (struct MACH0_ (SIVar )));
338335 if (r + left < r || r + sizeof (struct MACH0_ (SIVar )) < r ) {
339336 goto error ;
@@ -452,6 +449,8 @@ static void get_ivar_list(RBinFile *bf, RBinClass *klass, mach0_ut p) {
452449 field = NULL ;
453450 } else {
454451 R_LOG_WARN ("field name is empty" );
452+ r_bin_field_free (field );
453+ field = NULL ;
455454 }
456455 } else {
457456 R_LOG_DEBUG ("va2pa error" );
@@ -462,16 +461,14 @@ static void get_ivar_list(RBinFile *bf, RBinClass *klass, mach0_ut p) {
462461 }
463462 r_list_sort (klass -> fields , sort_by_offset );
464463 RBinField * isa = R_NEW0 (RBinField );
465- if (isa ) {
466- isa -> name = r_bin_name_new ("isa" );
467- isa -> size = sizeof (mach0_ut );
468- isa -> type = r_bin_name_new ("struct objc_class *" );
469- // TODO r_bin_name_demangled (isa->type, "ObjC.Class*");
470- isa -> kind = R_BIN_FIELD_KIND_VARIABLE ;
471- isa -> vaddr = 0 ;
472- isa -> offset = 0 ;
473- r_list_prepend (klass -> fields , isa );
474- }
464+ isa -> name = r_bin_name_new ("isa" );
465+ isa -> size = sizeof (mach0_ut );
466+ isa -> type = r_bin_name_new ("struct objc_class *" );
467+ // TODO r_bin_name_demangled (isa->type, "ObjC.Class*");
468+ isa -> kind = R_BIN_FIELD_KIND_VARIABLE ;
469+ isa -> vaddr = 0 ;
470+ isa -> offset = 0 ;
471+ r_list_prepend (klass -> fields , isa );
475472 return ;
476473error :
477474 r_bin_field_free (field );
@@ -530,10 +527,7 @@ static void get_objc_property_list(RBinFile *bf, RBinClass *klass, mach0_ut p) {
530527 return ;
531528 }
532529
533- if (!(property = R_NEW0 (RBinField ))) {
534- // retain just for debug
535- return ;
536- }
530+ property = R_NEW0 (RBinField );
537531
538532 memset (& op , '\0' , sizeof (struct MACH0_ (SObjcProperty )));
539533
@@ -767,10 +761,6 @@ static void get_method_list(RBinFile *bf, RBinClass *klass, const char *class_na
767761 }
768762
769763 method = R_NEW0 (RBinSymbol );
770- if (!method ) {
771- // retain just for debug
772- return ;
773- }
774764 struct MACH0_ (SMethod ) m = {0 };
775765 if (r + left < r || r + read_size < r ) {
776766 goto error ;
@@ -1659,9 +1649,6 @@ static void parse_type(RBinFile *bf, RList *list, SwiftType st, HtUP *symbols_ht
16591649 break ;
16601650 }
16611651 RBinField * field = R_NEW0 (RBinField );
1662- if (!field ) {
1663- break ;
1664- }
16651652 ut64 field_name_addr = st .fieldmd .addr + (d * 4 ) + st .fieldmd_data [d ];
16661653 ut64 field_type_addr = st .fieldmd .addr + (d * 4 ) + st .fieldmd_data [d - 1 ] - 4 ;
16671654 ut64 field_method_addr = field_name_addr ;
0 commit comments