From 7b1d459071eb377c9ad8783fbbb480201ce6c673 Mon Sep 17 00:00:00 2001 From: Naushir Patuck Date: Fri, 25 Apr 2025 08:43:27 +0100 Subject: [PATCH] ipa: rpi: imx500: Fix stringop-truncation warning This warning is issued by the compiler because the strncpy copies across the whole string array, leaving no place for the nul terminator. Fix it by copying sizeof(str) - 1 elements. Signed-off-by: Naushir Patuck --- src/ipa/rpi/cam_helper/cam_helper_imx500.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ipa/rpi/cam_helper/cam_helper_imx500.cpp b/src/ipa/rpi/cam_helper/cam_helper_imx500.cpp index 9a5623f1..6b12f302 100644 --- a/src/ipa/rpi/cam_helper/cam_helper_imx500.cpp +++ b/src/ipa/rpi/cam_helper/cam_helper_imx500.cpp @@ -246,7 +246,7 @@ void CamHelperImx500::parseInferenceData(libcamera::Span buffer, exported.height = inputTensorInfo.height; exported.numChannels = inputTensorInfo.channels; strncpy(exported.networkName, inputTensorInfo.networkName.c_str(), - sizeof(exported.networkName)); + sizeof(exported.networkName) - 1); exported.networkName[sizeof(exported.networkName) - 1] = '\0'; metadata.set("cnn.input_tensor_info", exported); metadata.set("cnn.input_tensor", std::move(inputTensorInfo.data)); @@ -279,7 +279,7 @@ void CamHelperImx500::parseInferenceData(libcamera::Span buffer, << "IMX500 output tensor info export failed, numTensors > MaxNumTensors"; } strncpy(exported.networkName, outputTensorInfo.networkName.c_str(), - sizeof(exported.networkName)); + sizeof(exported.networkName) - 1); exported.networkName[sizeof(exported.networkName) - 1] = '\0'; metadata.set("cnn.output_tensor_info", exported); metadata.set("cnn.output_tensor", std::move(outputTensorInfo.data));