Dispose of MemoryStream

IExtension.EndAppend is responsible for cleaning up stream (as it
stated). However, this method created a new memory stream from the
stream sent to the method that was not cleaned up.
This commit is contained in:
yankejustin 2015-03-17 12:30:59 -04:00
parent 2fd2001057
commit be233599db
1 changed files with 20 additions and 15 deletions

View File

@ -27,8 +27,8 @@ void IExtension.EndAppend(Stream stream, bool commit)
int len;
if (commit && (len = (int)stream.Length) > 0)
{
MemoryStream ms = (MemoryStream)stream;
using (MemoryStream ms = (MemoryStream)stream)
{
if (buffer == null)
{ // allocate new buffer
buffer = ms.ToArray();
@ -59,6 +59,7 @@ void IExtension.EndAppend(Stream stream, bool commit)
}
}
}
}
Stream IExtension.BeginQuery()
{
@ -67,7 +68,11 @@ Stream IExtension.BeginQuery()
void IExtension.EndQuery(Stream stream)
{
using (stream) { } // just clean up
// Clean up
if (stream != null)
{
stream.Dispose();
}
}
}
}