diff options
author | Craig Scott <craig.scott@qt.io> | 2021-02-24 18:45:25 +1100 |
---|---|---|
committer | Craig Scott <craig.scott@qt.io> | 2021-02-24 21:51:47 +1100 |
commit | 10b3681c72491cacf9ccf515fa2cbdf2ef131ff9 (patch) | |
tree | 7d32deac6b7f2d61a2d961148f4968d7456f957b /cmake/QtCMakeHelpers.cmake | |
parent | 8daa94431341afece6beb052e6224d215f8507b7 (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/QtCMakeHelpers.cmake')
-rw-r--r-- | cmake/QtCMakeHelpers.cmake | 4 |
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) |