Guard against loading, saving & executing undefined features (#665)

This commit is contained in:
Jeffrey
2026-06-23 00:41:33 +02:00
committed by GitHub
parent d1fe541b62
commit 5ebc50d36a
11 changed files with 209 additions and 84 deletions

View File

@@ -21,6 +21,9 @@ function LoadSettings {
$feature = $script:Features[$setting.Name]
# Skip unknown settings that aren't defined in Features.json
if (-not $feature) { continue }
# Check version and feature compatibility using Features.json
if (($feature.MinVersion -and $WinVersion -lt $feature.MinVersion) -or ($feature.MaxVersion -and $WinVersion -gt $feature.MaxVersion) -or ($feature.FeatureId -eq 'DisableModernStandbyNetworking' -and (-not $script:ModernStandbySupported))) {
continue

View File

@@ -11,7 +11,7 @@ function SaveSettings {
}
foreach ($param in $script:Params.Keys) {
if ($script:ControlParams -notcontains $param) {
if ($script:ControlParams -notcontains $param -and $script:Features.ContainsKey($param)) {
$value = $script:Params[$param]
$settings.Settings += @{