| Age | Commit message (Collapse) | Author |
|
Resolves all TinyUSB-owned alerts reported by the CI PVS-Studio job
(static_analysis.yml, run with --security-related-issues) on the
raspberry_pi_pico board: 0 remaining in src/ and examples/.
Genuine fixes:
- ncm_device: validate wNdpIndex against sizeof(nth16_t), not the pointer
size sizeof(nth16) (4 bytes) — the latter under-checks the NTB header
(V568).
- tusb: drop the redundant `ff_buf != NULL && ff_bufsize > 0` guard in
tu_edpt_stream_init(); the early return already guarantees it (V560).
- midi_host: bounds-check idx in tuh_midi_itf_get_info() instead of the
always-true `&_midi_host[idx]` pointer (V560).
- examples: fully initialize resolutions_per_format / frame_num /
interval_ms arrays instead of leaving trailing elements implicitly zero
(V1009).
False positives suppressed at the cause:
- usbd/usbh: hide the weak dcd_deinit()/hcd_deinit() stubs from the
analyzer with #ifndef PVS_STUDIO. PVS analyzes one TU at a time and
binds the call to the always-false weak stub (it cannot model the
linker selecting the port's strong definition), then reports the
cleanup loop after TU_ASSERT(...deinit()) as unreachable (V779).
False positives suppressed locally (inline //-V or .pvsconfig):
- .pvsconfig: V501 (HID descriptor macros), V763 (rhport override),
V785 (audio function-index switch), V1044 (hardware poll loops).
- inline //-V for config-dependent or intentional constructs: V512,
V514-style contiguous clears, V547, V557, V560, V614, V619, V641,
V1008, V1037, V1048, V1086.
Verified: all examples build for raspberry_pi_pico; ceedling test:all
passes (60/60); re-run of the CI-exact PVS invocation reports zero
TinyUSB-owned findings.
|
|
0a45308a296251e4376815b21f89f0038c75a60e
|
|
|
|
Standard Endpoint Descriptor and Class-specific VC Interrupt Endpoint Descriptor,
so fix that _end_of_control_descriptor include Standard Endpoint Descriptor and Class-specific VC Interrupt Endpoint Descriptor. It will also fix _close_vc_itf, _open_vc_itf. _find_desc_entity parsing.
|
|
Co-authored-by: Copilot <[email protected]>
|
|
|
|
Standard Interface Descriptor (Video Control)
Video Control Header Descriptor
Video Control Camera Terminal Descriptor
Video Control Output Terminal Descriptor
Standard Endpoint Descriptor
Class-Specific VC Interrupt Endpoint Descriptor
Video Control Header Descriptor's wTotalLength
= Header Descriptor + Camera Terminal Descriptor + Output Terminal Descriptor
_end_of_control_descriptor is Output Terminal Descriptor End
the "end" should +7 for _find_desc searchig Standard Endpoint Descriptor
|
|
|
|
copilot/fix-dcd-edpt-xfer-issue
Signed-off-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: Mengsk <[email protected]>
|
|
copilot/fix-dcd-edpt-xfer-issue
Signed-off-by: HiFiPhile <[email protected]>
|
|
fix more alerts
disable IAR CStat since pvs-studio check is better integrated with clion
|
|
|
|
|
|
|
|
structure in order to meet coding guideliness
|
|
on the fly
- If buffer is set to NULL, the callback will request payload data from a user function. This allows to work with dynamic content on platforms which are not able to hold a whole frame in memory.
- Callback uses the same "weak" linking as other callbacks for this class.
|
|
- Added bool is_isr parameter to usbd_edpt_xfer() and usbd_edpt_xfer_fifo() wrapper functions
- These are called by class drivers to queue USB transfers
- Updated all callers to pass false by default (non-ISR context)
- Updated audiod_rx_xfer_isr() and audiod_tx_xfer_isr() to pass true (ISR context)
- All 21 unit tests pass
Co-authored-by: HiFiPhile <[email protected]>
|
|
Signed-off-by: HiFiPhile <[email protected]>
|
|
feat(uvc): support format frame based
|
|
|
|
* change TUD_EPBUF_TYPE_DEF order
* add and fix -Wmissing-prototypes warnings for cmake (skip make)
|
|
|
|
|
|
consistent
|
|
|
|
|
|
|
|
Implements deinit functions for host/device mode switch
|
|
|
|
|
|
|
|
|
|
|
|
1. fix next interface may have IAD_DESC
2. fix vs_itf can't be open on bulk mode.
|
|
slightly change cdc_msc_freertos example
|
|
|
|
|
|
update video_capture
|
|
|
|
|
|
use struct to define uvc descriptor for video_capture since uvc is
rather too complicated to use macro templates
|
|
|
|
#define TUD_VIDEO_DESC_CS_VS_FRM_MJPEG_DISC
|
|
|
|
|
|
selectively disable usbd/usbh or driver log
|
|
CFG_TUD_MEM_SECTION is default to CFG_TUSB_MEM_SECTION
|
|
|
|
Fix typos
|