@@ -564,7 +564,7 @@ translate_array_uint(translator_t *trans, const struct translator_rec *rec,
564564 while ((rc = fds_blist_iter_next (& list_it )) == FDS_OK ) {
565565 uint64_t value ;
566566 void * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
567- if (fds_get_uint_be (list_it .field .data , list_it .field .size , & value ) != FDS_OK || field_ptr == NULL ) {
567+ if (field_ptr == NULL || fds_get_uint_be (list_it .field .data , list_it .field .size , & value ) != FDS_OK ) {
568568 ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
569569 return 1 ; // Conversion failed
570570 }
@@ -595,7 +595,7 @@ translate_array_int(translator_t *trans, const struct translator_rec *rec,
595595 while ((rc = fds_blist_iter_next (& list_it )) == FDS_OK ) {
596596 int64_t value ;
597597 void * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
598- if (fds_get_int_be (list_it .field .data , list_it .field .size , & value ) != FDS_OK || field_ptr == NULL ) {
598+ if (field_ptr == NULL || fds_get_int_be (list_it .field .data , list_it .field .size , & value ) != FDS_OK ) {
599599 ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
600600 return 1 ; // Conversion failed
601601 }
@@ -625,7 +625,7 @@ translate_array_bool(translator_t *trans, const struct translator_rec *rec,
625625 while ((rc = fds_blist_iter_next (& list_it )) == FDS_OK ) {
626626 bool value ;
627627 void * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
628- if (fds_get_bool (list_it .field .data , list_it .field .size , & value ) != FDS_OK || field_ptr == NULL ) {
628+ if (field_ptr == NULL || fds_get_bool (list_it .field .data , list_it .field .size , & value ) != FDS_OK ) {
629629 ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
630630 return 1 ; // Conversion failed
631631 }
@@ -655,7 +655,7 @@ translate_array_float(translator_t *trans, const struct translator_rec *rec,
655655 while ((rc = fds_blist_iter_next (& list_it )) == FDS_OK ) {
656656 double value ;
657657 void * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
658- if (fds_get_float_be (list_it .field .data , list_it .field .size , & value ) != FDS_OK || field_ptr == NULL ) {
658+ if (field_ptr == NULL || fds_get_float_be (list_it .field .data , list_it .field .size , & value ) != FDS_OK ) {
659659 ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
660660 return 1 ; // Conversion failed
661661 }
@@ -685,7 +685,7 @@ translate_array_ip(translator_t *trans, const struct translator_rec *rec,
685685 while ((rc = fds_blist_iter_next (& list_it )) == FDS_OK ) {
686686 void * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
687687
688- if (translator_store_ip (list_it .field .data , list_it .field .size , field_ptr )) {
688+ if (field_ptr == NULL || translator_store_ip (list_it .field .data , list_it .field .size , field_ptr )) {
689689 ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
690690 return 1 ;
691691 }
@@ -713,6 +713,11 @@ translate_array_mac(translator_t *trans, const struct translator_rec *rec,
713713 }
714714
715715 ur_time_t * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
716+ if (field_ptr == NULL ) {
717+ ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
718+ return 1 ;
719+ }
720+
716721 memcpy (field_ptr , list_it .field .data , 6U );
717722 }
718723
@@ -735,8 +740,7 @@ translate_array_time(translator_t *trans, const struct translator_rec *rec,
735740 fds_blist_iter_init (& list_it , field , NULL );
736741 while ((rc = fds_blist_iter_next (& list_it )) == FDS_OK ) {
737742 ur_time_t * field_ptr = ur_array_append_get_ptr (trans -> record .ur_tmplt , trans -> record .data , ur_id );
738-
739- if (translator_store_time (type_ipx , list_it .field .data , list_it .field .size , field_ptr )) {
743+ if (field_ptr == NULL || translator_store_time (type_ipx , list_it .field .data , list_it .field .size , field_ptr )) {
740744 ur_array_clear (trans -> record .ur_tmplt , trans -> record .data , ur_id );
741745 return 1 ;
742746 }
0 commit comments