From e4afdc27c62852abdf8be0f5cd0b243ec4774ca9 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Fri, 8 Aug 2025 20:34:18 +0200 Subject: [PATCH] Fix undefined behavior when computing sats array size in update_sdr_gnss_packet --- src/algorithms/PVT/libs/an_packet_printer.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/algorithms/PVT/libs/an_packet_printer.cc b/src/algorithms/PVT/libs/an_packet_printer.cc index 900ac5866..3fc5712de 100644 --- a/src/algorithms/PVT/libs/an_packet_printer.cc +++ b/src/algorithms/PVT/libs/an_packet_printer.cc @@ -102,9 +102,9 @@ void An_Packet_Printer::update_sdr_gnss_packet(sdr_gnss_packet_t* _packet, const std::map::const_iterator gnss_observables_iter; uint8_t num_gps_sats = 0; uint8_t num_gal_sats = 0; - int index = 0; + std::size_t index = 0; bool fix_3d = pvt->is_valid_position(); - const int max_reported_sats = *(&_packet->sats + 1) - _packet->sats; + const auto max_reported_sats = std::size(_packet->sats); for (gnss_observables_iter = gnss_observables_map.cbegin(); gnss_observables_iter != gnss_observables_map.cend();