From e57c714ee82791bbd42e2d693a9e83f570046db9 Mon Sep 17 00:00:00 2001 From: Kenneth Hsu Date: Mon, 11 Mar 2019 21:15:00 -0700 Subject: [PATCH] Dispose of manually enumerated enumerator. The IEnumerator interface implements IDisposable, so the enumerator should be disposed of after its use. --- .../Library/Main/Volumes/FilesetVolumeWriter.cs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Duplicati/Library/Main/Volumes/FilesetVolumeWriter.cs b/Duplicati/Library/Main/Volumes/FilesetVolumeWriter.cs index a8742a0bf..e9b9d6905 100644 --- a/Duplicati/Library/Main/Volumes/FilesetVolumeWriter.cs +++ b/Duplicati/Library/Main/Volumes/FilesetVolumeWriter.cs @@ -35,15 +35,17 @@ namespace Duplicati.Library.Main.Volumes if (metablocklisthashes != null) { //Slightly akward, but we avoid writing if there are no entries - var en = metablocklisthashes.GetEnumerator(); - if (en.MoveNext() && !string.IsNullOrEmpty(en.Current)) + using (var en = metablocklisthashes.GetEnumerator()) { - m_writer.WritePropertyName("metablocklists"); - m_writer.WriteStartArray(); - m_writer.WriteValue(en.Current); - while (en.MoveNext()) + if (en.MoveNext() && !string.IsNullOrEmpty(en.Current)) + { + m_writer.WritePropertyName("metablocklists"); + m_writer.WriteStartArray(); m_writer.WriteValue(en.Current); - m_writer.WriteEndArray(); + while (en.MoveNext()) + m_writer.WriteValue(en.Current); + m_writer.WriteEndArray(); + } } } else if (!string.IsNullOrWhiteSpace(metablockhash))