From f4ddca5dca8519c846f6d252afd914e47f826c94 Mon Sep 17 00:00:00 2001 From: Jamie McCrae Date: Thu, 5 Jan 2023 09:52:11 +0000 Subject: [PATCH] sysbuild: Check for duplicate image names Checks if the IMAGES variable has been updated with a duplicate image name, which would otherwise cause an infinite loop. Signed-off-by: Jamie McCrae Signed-off-by: Torsten Rasmussen --- share/sysbuild/CMakeLists.txt | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/share/sysbuild/CMakeLists.txt b/share/sysbuild/CMakeLists.txt index 07af3c7b4df..f939e73cafe 100644 --- a/share/sysbuild/CMakeLists.txt +++ b/share/sysbuild/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Nordic Semiconductor +# Copyright (c) 2021-2023 Nordic Semiconductor # # SPDX-License-Identifier: Apache-2.0 @@ -80,8 +80,15 @@ while(NOT "${images_length}" EQUAL "${processed_length}") endif() endforeach() - list(LENGTH images_sysbuild_processed processed_length) list(LENGTH IMAGES images_length) + list(LENGTH images_sysbuild_processed processed_length_new) + + # Check for any duplicate entries in image names to prevent an infinite loop + if("${processed_length_new}" EQUAL "${processed_length}") + # Image length was different than processed length, but no new images are processed. + message(FATAL_ERROR "A duplicate image name was provided, image names must be unique.") + endif() + set(processed_length ${processed_length_new}) endwhile() include(cmake/domains.cmake)