From a55be214693c1ceaccd9e3c327f53b9a62a52297 Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Tue, 1 Dec 2015 04:36:23 +0000 Subject: [PATCH] Empty buffer when null buffer --- .../Filter/StreamSocketOutput.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.AspNet.Server.Kestrel/Filter/StreamSocketOutput.cs b/src/Microsoft.AspNet.Server.Kestrel/Filter/StreamSocketOutput.cs index e990e34ee8..d2c1deae3b 100644 --- a/src/Microsoft.AspNet.Server.Kestrel/Filter/StreamSocketOutput.cs +++ b/src/Microsoft.AspNet.Server.Kestrel/Filter/StreamSocketOutput.cs @@ -12,6 +12,8 @@ namespace Microsoft.AspNet.Server.Kestrel.Filter { public class StreamSocketOutput : ISocketOutput { + private static readonly byte[] _nullBuffer = new byte[0]; + private readonly Stream _outputStream; private readonly MemoryPool2 _memory; private MemoryPoolBlock2 _producingBlock; @@ -24,13 +26,13 @@ namespace Microsoft.AspNet.Server.Kestrel.Filter void ISocketOutput.Write(ArraySegment buffer, bool immediate) { - _outputStream.Write(buffer.Array, buffer.Offset, buffer.Count); + _outputStream.Write(buffer.Array ?? _nullBuffer, buffer.Offset, buffer.Count); } Task ISocketOutput.WriteAsync(ArraySegment buffer, bool immediate, CancellationToken cancellationToken) { // TODO: Use _outputStream.WriteAsync - _outputStream.Write(buffer.Array, buffer.Offset, buffer.Count); + _outputStream.Write(buffer.Array ?? _nullBuffer, buffer.Offset, buffer.Count); return TaskUtilities.CompletedTask; }