diff options
| author | seteiro <[email protected]> | 2026-11-11 15:11:22 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-11-13 09:38:07 +0800 |
| commit | e69e6620322f3394f7da5c56ebfcfed408669efb (patch) | |
| tree | e2b284ef5b3addfe76c3bc0386b4394b688421cd /components/external/SQLite-3.8.1/src | |
| parent | 9d670b739c72123e90380995f77ec6a2c3f0977f (diff) | |
[utilities][rt-link] bound long-frame reassembly against allocation size
Record the allocated buffer length in struct rt_link_record::dataspace_size and enforce bounds checking during long-frame receive reassembly:
- Validate extend.parameter in _long_handle_first() (must be non-zero and at most RT_LINK_FRAMES_MAX * RT_LINK_MAX_DATA_LENGTH), aborting cleanly on invalid length or allocation failure.
- Validate data_len <= RT_LINK_MAX_DATA_LENGTH, index < RT_LINK_FRAMES_MAX and index < total, and overflow-safe offset + data_len <= dataspace_size before rt_link_hw_copy() in _long_handle_second(), aborting cleanly on bounds violation and passing dataspace_size to rt_link_recv_finish().
- Clear dataspace_size on all paths that release or reset dataspace.
- Reject data frames whose head.length exceeds RT_LINK_MAX_DATA_LENGTH in rt_link_frame_check() to align the receive path with rt_link_send().
Fix #12030
Diffstat (limited to 'components/external/SQLite-3.8.1/src')
0 files changed, 0 insertions, 0 deletions
