summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@qt.io>2021-02-24 18:45:25 +1100
committerCraig Scott <craig.scott@qt.io>2021-02-24 21:51:47 +1100
commit10b3681c72491cacf9ccf515fa2cbdf2ef131ff9 (patch)
tree7d32deac6b7f2d61a2d961148f4968d7456f957b /cmake
parent8daa94431341afece6beb052e6224d215f8507b7 (diff)
CMake: Prevent qt_remove_args() from accessing out-of-range list index
Pick-to: 6.1 Change-Id: Ie9c5f0551722c7d3fb11879b209c11ce3d7ccd6d Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtCMakeHelpers.cmake4
1 files changed, 4 insertions, 0 deletions
diff --git a/cmake/QtCMakeHelpers.cmake b/cmake/QtCMakeHelpers.cmake
index b6acde5f55..93513d4369 100644
--- a/cmake/QtCMakeHelpers.cmake
+++ b/cmake/QtCMakeHelpers.cmake
@@ -131,6 +131,10 @@ function(qt_remove_args out_var)
# remove arg
list(REMOVE_AT result ${find_result})
list(LENGTH result result_len)
+ if(find_result EQUAL result_len)
+ # We removed the last argument, could have been an option keyword
+ continue()
+ endif()
list(GET result ${find_result} arg_current)
# remove values until we hit another arg or the end of the list
while(NOT ${arg_current} IN_LIST arg_ALL_ARGS AND find_result LESS result_len)