1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-14 04:00:34 +00:00

Avoid truncation or bad formatting in message header

This commit is contained in:
Carles Fernandez 2019-08-24 12:16:41 +02:00
parent 54e9b07699
commit d9a655efce
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D

View File

@ -594,11 +594,7 @@ private:
inline void encode_header()
{
char header[header_length + 1] = "";
int num_chars = std::snprintf(header, header_length + 1, "GS%4d", std::min(static_cast<int>(body_length_), static_cast<int>(max_body_length)));
if ((num_chars <= 0) or (num_chars > header_length))
{
// avoid Wformat-truncation warning
}
std::snprintf(header, header_length + 1, "GS%4d", std::max(std::min(static_cast<int>(body_length_), static_cast<int>(max_body_length)), 0));
std::memcpy(data_, header, header_length);
}