From 5c6c76b89838536af23cd264684668074142b534 Mon Sep 17 00:00:00 2001 From: David Sparer Date: Mon, 4 Mar 2019 11:30:34 -0600 Subject: [PATCH] one more parse bug fix --- .../RemoteDesktopConnectionManagerDeserializer.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs b/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs index 7cd5aa45..82f0a060 100644 --- a/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs +++ b/mRemoteV1/Config/Serializers/MiscSerializers/RemoteDesktopConnectionManagerDeserializer.cs @@ -40,11 +40,15 @@ namespace mRemoteNG.Config.Serializers private static void VerifySchemaVersion(XmlNode rdcManNode) { - _schemaVersion = Convert.ToInt32(rdcManNode?.Attributes?["schemaVersion"].Value); - if (_schemaVersion != 1 && _schemaVersion != 3) + if (!int.TryParse(rdcManNode?.Attributes?["schemaVersion"]?.Value, out var version)) + throw new FileFormatException("Could not find schema version attribute."); + + if (version != 1 && version != 3) { - throw (new FileFormatException($"Unsupported schema version ({_schemaVersion}).")); + throw new FileFormatException($"Unsupported schema version ({version})."); } + + _schemaVersion = version; } private static void VerifyFileVersion(XmlNode rdcManNode) @@ -114,7 +118,8 @@ namespace mRemoteNG.Config.Serializers containerPropertiesNode = containerPropertiesNode.SelectSingleNode("./properties"); } newContainer.Name = containerPropertiesNode?.SelectSingleNode("./name")?.InnerText ?? Language.strNewFolder; - newContainer.IsExpanded = bool.Parse(containerPropertiesNode?.SelectSingleNode("./expanded")?.InnerText ?? "false"); + if (bool.TryParse(containerPropertiesNode?.SelectSingleNode("./expanded")?.InnerText, out var expanded)) + newContainer.IsExpanded = expanded; parentContainer.AddChild(newContainer); return newContainer; }