1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-07-29 13:34:13 -04:00
Commit Graph

9 Commits

Author SHA1 Message Date
Robin Getz d44a953cfa ft8: Fix CRC message length type causing memcpy overflow warning
Change the ft8_crc message length parameter from signed int to uint32_t
since it represents a non-negative FT8 message bit count.

GCC reported a potential buffer overflow in the memcpy() call:
    warning: ‘__builtin_memcpy’ specified bound between
    18446744073709551560 and 18446744073709551564 exceeds maximum object size
    [-Wstringop-overflow=]

The warning was caused by the signed message length allowing negative
values to be converted into a very large unsigned size when calculating
the memcpy() byte count.

Using an unsigned fixed-width type better represents the valid range of
the FT8 message length and prevents invalid negative lengths from being
interpreted as extremely large memory operations.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-26 18:22:04 -04:00
Robin Getz 55e13063ea ft8: replace temporary malloc buffer with std::vector
Replace the temporary CRC working buffer in `LDPC::ft8_crc()` with a
`std::vector<int>`.

The vector is value-initialized, preserving the existing zero-padding
behavior, while `std::memcpy()` copies the input message into the front
of the buffer. This removes the manual `malloc()`/`free()` pair, simplifies
the implementation, and uses RAII for temporary storage.

This change also addresses a cppcheck warning about a possible null pointer
dereference following malloc() failure. If memory allocation now fails,
std::vector will throw std::bad_alloc rather than returning a null pointer
that would be dereferenced. The algorithm and behavior are otherwise
unchanged.

Signed-off-by: Robin Getz <rgetz503@gmail.com>
2026-07-21 20:01:53 -04:00
f4exb e98b4bdeb1 FT8 demod: more code linting 2026-03-15 00:18:52 +01:00
f4exb 05b9b499b1 FT8: fixed CRC build 2026-01-25 00:33:21 +01:00
f4exb 28262ca5fb More Sonar bug fixes 2024-07-21 14:20:48 +02:00
f4exb 2e9fc9db64 FT8: add encoding support to library and added more tests 2024-03-28 15:15:48 +01:00
f4exb b120f9cb01 Rewriting of copyright notices for all but plugins (done), sdrbase, sdrgui. Part of #1893 2023-11-19 13:43:10 +01:00
f4exb 4067aecd33 FT8 support: remove or comment out asserts 2023-01-24 04:05:35 +01:00
f4exb 902e58b46b FT8 demod: initial commit of FT8 library with minimal changes and benchmark test 2023-01-11 16:36:10 +01:00