crc32 warning

This commit is contained in:
Bastian Bloessl
2026-05-19 14:26:15 +02:00
parent 7e9c132dfb
commit b327e06ac5
+4
View File
@@ -24,6 +24,7 @@
#include <cstdint> #include <cstdint>
#include <cstring> #include <cstring>
#include <limits>
#include <stdexcept> #include <stdexcept>
#include <vector> #include <vector>
@@ -75,6 +76,9 @@ void append_crc32_impl::handle(pmt::pmt_t msg)
result.process_bytes(data, len); result.process_bytes(data, len);
uint32_t crc = result.checksum(); uint32_t crc = result.checksum();
if(len > std::numeric_limits<size_t>::max() - sizeof(uint32_t))
throw std::length_error("append_crc32 payload too large");
std::vector<uint8_t> out(len + sizeof(uint32_t)); std::vector<uint8_t> out(len + sizeof(uint32_t));
std::memcpy(out.data(), data, len); std::memcpy(out.data(), data, len);
std::memcpy(out.data() + len, &crc, sizeof(uint32_t)); std::memcpy(out.data() + len, &crc, sizeof(uint32_t));