From b20feacdb56ddc3987d21bc31076775b2cce0095 Mon Sep 17 00:00:00 2001 From: Julian Oes <julian@oes.ch> Date: Tue, 14 May 2019 14:23:53 +0200 Subject: [PATCH] drivers: fix -Wstringop-truncation GCC 9 complained about stringop-truncation which is a cautionary message to prevent using strncpy with non-null terminated strings. We can fix this by copying one byte less than the destination size and then manually adding the null termination, as we already do. --- src/drivers/distance_sensor/cm8jl65/cm8jl65.cpp | 2 +- src/drivers/distance_sensor/pga460/pga460.cpp | 2 +- src/drivers/distance_sensor/sf0x/sf0x.cpp | 2 +- src/drivers/distance_sensor/tfmini/tfmini.cpp | 2 +- src/drivers/distance_sensor/ulanding/ulanding.cpp | 2 +- src/drivers/gps/gps.cpp | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/drivers/distance_sensor/cm8jl65/cm8jl65.cpp b/src/drivers/distance_sensor/cm8jl65/cm8jl65.cpp index 1c61c93fbf..72ef311ff4 100644 --- a/src/drivers/distance_sensor/cm8jl65/cm8jl65.cpp +++ b/src/drivers/distance_sensor/cm8jl65/cm8jl65.cpp @@ -194,7 +194,7 @@ CM8JL65::CM8JL65(const char *port, uint8_t rotation) : _comms_errors(perf_alloc(PC_COUNT, "cm8jl65_com_err")) { /* store port name */ - strncpy(_port, port, sizeof(_port)); + strncpy(_port, port, sizeof(_port) - 1); /* enforce null termination */ _port[sizeof(_port) - 1] = '\0'; diff --git a/src/drivers/distance_sensor/pga460/pga460.cpp b/src/drivers/distance_sensor/pga460/pga460.cpp index 648ec8bde6..e9f30f1ae8 100644 --- a/src/drivers/distance_sensor/pga460/pga460.cpp +++ b/src/drivers/distance_sensor/pga460/pga460.cpp @@ -46,7 +46,7 @@ extern "C" __EXPORT int pga460_main(int argc, char *argv[]); PGA460::PGA460(const char *port) { // Store port name. - strncpy(_port, port, sizeof(_port)); + strncpy(_port, port, sizeof(_port) - 1); // Enforce null termination. _port[sizeof(_port) - 1] = '\0'; } diff --git a/src/drivers/distance_sensor/sf0x/sf0x.cpp b/src/drivers/distance_sensor/sf0x/sf0x.cpp index 5260987979..3f7087c3ee 100644 --- a/src/drivers/distance_sensor/sf0x/sf0x.cpp +++ b/src/drivers/distance_sensor/sf0x/sf0x.cpp @@ -189,7 +189,7 @@ SF0X::SF0X(const char *port, uint8_t rotation) : _comms_errors(perf_alloc(PC_COUNT, "sf0x_com_err")) { /* store port name */ - strncpy(_port, port, sizeof(_port)); + strncpy(_port, port, sizeof(_port) - 1); /* enforce null termination */ _port[sizeof(_port) - 1] = '\0'; diff --git a/src/drivers/distance_sensor/tfmini/tfmini.cpp b/src/drivers/distance_sensor/tfmini/tfmini.cpp index e771c68041..d8be15767d 100644 --- a/src/drivers/distance_sensor/tfmini/tfmini.cpp +++ b/src/drivers/distance_sensor/tfmini/tfmini.cpp @@ -190,7 +190,7 @@ TFMINI::TFMINI(const char *port, uint8_t rotation) : _comms_errors(perf_alloc(PC_COUNT, "tfmini_com_err")) { /* store port name */ - strncpy(_port, port, sizeof(_port)); + strncpy(_port, port, sizeof(_port) - 1); /* enforce null termination */ _port[sizeof(_port) - 1] = '\0'; } diff --git a/src/drivers/distance_sensor/ulanding/ulanding.cpp b/src/drivers/distance_sensor/ulanding/ulanding.cpp index b22ce466cd..3d5465a86f 100644 --- a/src/drivers/distance_sensor/ulanding/ulanding.cpp +++ b/src/drivers/distance_sensor/ulanding/ulanding.cpp @@ -147,7 +147,7 @@ Radar::Radar(uint8_t rotation, const char *port) : { /* store port name */ - strncpy(_port, port, sizeof(_port)); + strncpy(_port, port, sizeof(_port) - 1); /* enforce null termination */ _port[sizeof(_port) - 1] = '\0'; } diff --git a/src/drivers/gps/gps.cpp b/src/drivers/gps/gps.cpp index 746e5fd740..c04303f8a0 100644 --- a/src/drivers/gps/gps.cpp +++ b/src/drivers/gps/gps.cpp @@ -285,7 +285,7 @@ GPS::GPS(const char *path, gps_driver_mode_t mode, GPSHelper::Interface interfac _instance(instance) { /* store port name */ - strncpy(_port, path, sizeof(_port)); + strncpy(_port, path, sizeof(_port) - 1); /* enforce null termination */ _port[sizeof(_port) - 1] = '\0'; -- GitLab