PVS-Studio Analysis Results


Date:Wed Aug 9 10:50:58 2023
PVS-Studio Version:7.23.69221.300
Command Line:plog-converter -a GA\:1,2,3 -t fullhtml --indicate-warnings build/f7-firmware-DC/pvsreport.log -o build/f7-firmware-DC/pvsreport
Total Warnings (GA):66
Fails/Info:118
Group Location Level Code Message
Fail/Info classic_gen1.c:1 V008 Unable to start the analysis on this file.
Fail/Info mfkey32.c:1 V008 Unable to start the analysis on this file.
Fail/Info gen4.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_worker.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_actions.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_check.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_file_select.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_gen4_actions.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_key_input.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_magic_info.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_new_key_input.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_not_magic.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_rekey.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_rekey_fail.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_start.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_wipe.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_wipe_fail.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_write.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_write_confirm.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_write_fail.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_magic_scene_wrong_card.c:1 V008 Unable to start the analysis on this file.
General Analysis nfc_rfid_detector_app_i.c:14 Medium V1031 The 'furi_hal_nfc_exit_sleep' function is not declared. Passing data to or from this function can be affected.
General Analysis nfc_rfid_detector_app_i.c:15 Medium V1031 The 'furi_hal_nfc_field_detect_start' function is not declared. Passing data to or from this function can be affected.
General Analysis nfc_rfid_detector_app_i.c:25 Medium V1031 The 'furi_hal_nfc_start_sleep' function is not declared. Passing data to or from this function can be affected.
General Analysis nfc_rfid_detector_app_i.c:32 Medium V1031 The 'furi_hal_nfc_field_is_present' function is not declared. Passing data to or from this function can be affected.
Fail/Info picopass.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_worker.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_card_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_delete.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_delete_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_file_select.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_device_info.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_read_card.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_elite_dict_attack.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_key_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_read_factory_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_save_name.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_save_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_read_card_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_start.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_write_card.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_write_card_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_write_key.c:1 V008 Unable to start the analysis on this file.
Fail/Info dict_attack.c:1 V008 Unable to start the analysis on this file.
Fail/Info picopass_scene_saved_menu.c:1 V008 Unable to start the analysis on this file.
General Analysis nfc_supported_cards.c:88 High V654 The condition 'plugin == NULL' of loop is always true.
General Analysis nfc_supported_cards.c:104 Medium V547 Expression 'plugin == NULL' is always true.
General Analysis nfc_supported_cards.c:106 Low V779 Unreachable code detected. It is possible that an error is present.
General Analysis nfc_supported_cards.c:134 Medium V547 Expression 'plugin == NULL' is always true.
General Analysis nfc_supported_cards.c:136 Low V779 Unreachable code detected. It is possible that an error is present.
General Analysis nfc_protocol_support.c:401 Low V524 It is odd that the body of 'nfc_protocol_support_scene_saved_menu_on_exit' function is fully equivalent to the body of 'nfc_protocol_support_scene_read_menu_on_exit' function.
General Analysis opal.c:152 Low V1081 Argument of labs() function may reach minimal negative value. Such absolute value can't be represented in two's complement. This may result in undefined behavior.
General Analysis opal.c:168 Medium V547 Expression 'mode > 4' is always false.
General Analysis nfc_scene_mf_classic_mfkey_nonces_info.c:20 Low V576 Incorrect format. Consider checking the third actual argument of the 'furi_string_printf' function. The integer argument of 32-bit size is expected.
General Analysis nfc_scene_mf_ultralight_unlock_warn.c:23 Medium V557 Array overrun is possible. The value of 'i' index could reach 7.
Fail/Info nfc.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_debug.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_cli.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_delete.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_delete_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_detect_reader.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_device_info.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_dict_not_found.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_emulate_apdu_sequence.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_emulate_uid.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_emv_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_emv_read_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_emulate.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_exit_confirm.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_extra_actions.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_field.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_file_select.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_generate_info.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_data.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_dict_attack.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_keys.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_update_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_keys_add.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_keys_delete.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_keys_list.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_keys_warn_duplicate.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_read_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_update.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_write.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_data.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_write_fail.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_write_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_classic_wrong_card.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_desfire_app.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_desfire_data.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_desfire_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_desfire_read_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_emulate.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_unlock_warn.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_key_input.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_read_auth.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_read_auth_result.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_read_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_unlock_auto.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mf_ultralight_unlock_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mfkey_complete.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_read_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_mfkey_nonces_info.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfc_data_info.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfca_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfca_read_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_emulate.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_key_input.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_read_card_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_sniff.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_unlock.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_nfcv_unlock_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_read.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_retry_confirm.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_read_card_type.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_restore_original.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_restore_original_confirm.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_rpc.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_start.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_save_name.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_save_success.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_saved_menu.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_set_atqa.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_set_sak.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_set_type.c:1 V008 Unable to start the analysis on this file.
Fail/Info nfc_scene_set_uid.c:1 V008 Unable to start the analysis on this file.
Fail/Info dict_attack.c:1 V008 Unable to start the analysis on this file.
General Analysis nfc_rpc.c:42 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The integer argument of 32-bit size is expected.
General Analysis nfc_rpc.c:112 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The integer argument of 32-bit size is expected.
General Analysis nfc_rpc_mf_ultralight.c:144 High V512 A call of the 'memcpy' function will lead to overflow of the buffer 'pb_mf_ul_read_counter_resp.data.bytes'.
General Analysis nfc_rpc_mf_ultralight.c:144 High V512 A call of the 'memcpy' function will lead to the 'data.data' buffer becoming out of range.
General Analysis nfc_rpc_mf_ultralight.c:175 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The SIGNED argument of memsize type is expected.
General Analysis f_hal_nfc_event.c:39 Low V605 Consider verifying the expression: event_flag != FuriFlagErrorTimeout. An unsigned value is compared to the number -2.
General Analysis f_hal_nfc.c:96 Medium V519 The 'error' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 85, 96.
General Analysis f_hal_nfc_timer.c:58 High V1051 Consider checking for misprints. It's possible that the 'timer' should be used inside 'LL_TIM_IsActiveFlag_UPDATE' function.
General Analysis nfc_device_old.c:1144 High V547 Expression '(block_unknown_bytes_mask & 0x003f) == 0' is always false.
General Analysis nfc_device_old.c:1150 High V547 Expression '(block_unknown_bytes_mask & 0x03c0) == 0' is always false.
General Analysis nfc_device_old.c:1155 High V547 Expression '(block_unknown_bytes_mask & 0xfc00) == 0' is always false.
General Analysis nfc_device_old.c:1160 High V547 Expression 'block_unknown_bytes_mask == 0' is always false.
General Analysis crypto1.c:66 High V629 Consider inspecting the expression. Bit shifting of the 32-bit value with a subsequent expansion to the 64-bit type.
General Analysis bit_buffer.c:117 Medium V519 The 'buf->size_bits' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 106, 117.
General Analysis nfc_data_generator.c:156 Medium V1086 A call of the 'memcpy' function will lead to underflow of the buffer 'default_data_ntag203'.
General Analysis nfc_scanner.c:81 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The integer argument of 32-bit size is expected.
General Analysis nfc_scanner.c:135 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The integer argument of 32-bit size is expected.
General Analysis nfc_scanner.c:184 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The integer argument of 32-bit size is expected.
General Analysis felica_poller.c:95 Medium V768 The expression 'event.protocol = NfcProtocolInvalid' is of enum type. It is odd that it is used as an expression of a Boolean-type.
General Analysis felica_poller.c:95 Medium V559 Suspicious assignment inside the conditional expression of 'if' statement: event.protocol = NfcProtocolInvalid.
General Analysis iso14443_3a_poller.c:102 Medium V768 The expression 'event.protocol = NfcProtocolInvalid' is of enum type. It is odd that it is used as an expression of a Boolean-type.
General Analysis iso14443_3a_poller.c:102 Medium V559 Suspicious assignment inside the conditional expression of 'if' statement: event.protocol = NfcProtocolInvalid.
General Analysis iso14443_3b_poller.c:99 Medium V768 The expression 'event.protocol = NfcProtocolInvalid' is of enum type. It is odd that it is used as an expression of a Boolean-type.
General Analysis iso14443_3b_poller.c:99 Medium V559 Suspicious assignment inside the conditional expression of 'if' statement: event.protocol = NfcProtocolInvalid.
General Analysis iso15693_3_poller.c:107 Medium V768 The expression 'event.protocol = NfcProtocolInvalid' is of enum type. It is odd that it is used as an expression of a Boolean-type.
General Analysis iso15693_3_poller.c:107 Medium V559 Suspicious assignment inside the conditional expression of 'if' statement: event.protocol = NfcProtocolInvalid.
General Analysis crypto1.c:79 High V629 Consider inspecting the expression. Bit shifting of the 32-bit value with a subsequent expansion to the 64-bit type.
General Analysis mf_classic_listener.c:319 Medium V1048 The 'action' variable was assigned the same value.
General Analysis mf_classic_listener.c:369 Medium V641 The size of the 'data_arr' buffer is not a multiple of the element size of the type 'int32_t'.
General Analysis mf_classic_listener.c:200 Low V1027 Pointer to an object of the 'MfClassicBlock' class is cast to unrelated 'MfClassicSectorTrailer' class.
General Analysis mf_classic_poller.c:168 Medium V519 The 'command' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 164, 168.
General Analysis mf_classic_poller.c:217 Medium V519 The 'command' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 214, 217.
General Analysis mf_classic.c:316 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis mf_classic.c:374 Medium V560 A part of conditional expression is always true: (atqa0 = 0x44).
General Analysis mf_classic.c:375 Medium V560 A part of conditional expression is always true: (sak = 0x88).
General Analysis mf_classic.c:393 Medium V768 The expression '* type' is of enum type. It is odd that it is used as an expression of a Boolean-type.
General Analysis mf_classic.c:459 Medium V641 The size of the '& block->data[4]' buffer is not a multiple of the element size of the type 'uint32_t'.
General Analysis mf_classic.c:465 Medium V547 Expression 'value' is always true.
General Analysis mf_classic.c:120 Low V1027 Pointer to an object of the 'MfClassicBlock' class is cast to unrelated 'MfClassicSectorTrailer' class.
General Analysis mf_classic.c:433 Low V1027 Pointer to an object of the 'MfClassicBlock' class is cast to unrelated 'MfClassicSectorTrailer' class.
General Analysis mf_classic_poller_i.c:308 High V512 A call of the 'memcpy' function will lead to overflow of the buffer 'data_arr'.
General Analysis mf_ultralight.c:370 Medium V619 The array 'data->tearing_flag' is being utilized as a pointer to single object.
General Analysis mf_ultralight.c:420 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis mf_ultralight.c:421 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis mf_ultralight.c:424 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis mf_ultralight.c:432 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis mf_ultralight.c:443 Low V526 The 'memcmp' function returns 0 if corresponding buffers are equal. Consider examining the condition for mistakes.
General Analysis mf_ultralight.c:546 Low V1027 Pointer to an object of the 'MfUltralightPage' class is cast to unrelated 'MfUltralightConfigPages' class.
General Analysis mf_ultralight_listener.c:216 Medium V619 The array 'instance->data->tearing_flag' is being utilized as a pointer to single object.
General Analysis mf_ultralight_listener.c:234 High V512 A call of the 'memcpy' function will lead to overflow of the buffer 'password.data'.
General Analysis mf_ultralight_poller_i.c:36 Medium V1009 Check the array initialization. Only the first element is initialized explicitly. The rest elements are initialized with zeros.
General Analysis mf_ultralight_poller_i.c:186 Low V576 Incorrect format. Consider checking the fourth actual argument of the 'furi_log_print_format' function. The integer argument of 32-bit size is expected.