From c1b87f4b8b602b8a8f7df094cbebfe9ea5e5e692 Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Thu, 29 Jun 2023 18:08:05 -0500 Subject: [PATCH] fix: NRE due to null RootConfigYaml --- CHANGELOG.md | 1 + src/Recyclarr.TrashLib/Config/ConfigExtensions.cs | 6 +++--- src/Recyclarr.TrashLib/Config/Parsing/ConfigParser.cs | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9ae0c66..2b3e7583 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Clone config template repo when `config create -t` is used. +- Fix error when completely commenting out a YAML configuration file (#190). ## [5.1.0] - 2023-06-26 diff --git a/src/Recyclarr.TrashLib/Config/ConfigExtensions.cs b/src/Recyclarr.TrashLib/Config/ConfigExtensions.cs index 428d8918..5b176bf3 100644 --- a/src/Recyclarr.TrashLib/Config/ConfigExtensions.cs +++ b/src/Recyclarr.TrashLib/Config/ConfigExtensions.cs @@ -18,10 +18,10 @@ public static class ConfigExtensions return configs.Any(x => x.InstanceName.EqualsIgnoreCase(name)); } - public static bool IsConfigEmpty(this RootConfigYaml config) + public static bool IsConfigEmpty(this RootConfigYaml? config) { - var sonarr = config.Sonarr?.Count ?? 0; - var radarr = config.Radarr?.Count ?? 0; + var sonarr = config?.Sonarr?.Count ?? 0; + var radarr = config?.Radarr?.Count ?? 0; return sonarr + radarr == 0; } } diff --git a/src/Recyclarr.TrashLib/Config/Parsing/ConfigParser.cs b/src/Recyclarr.TrashLib/Config/Parsing/ConfigParser.cs index 1c05db01..712502bc 100644 --- a/src/Recyclarr.TrashLib/Config/Parsing/ConfigParser.cs +++ b/src/Recyclarr.TrashLib/Config/Parsing/ConfigParser.cs @@ -38,7 +38,7 @@ public class ConfigParser try { using var stream = streamFactory(); - var config = _deserializer.Deserialize(stream); + var config = _deserializer.Deserialize(stream); if (config.IsConfigEmpty()) { _log.Warning("Configuration is empty");