Skip to content
This repository was archived by the owner on Dec 18, 2018. It is now read-only.

Commit 438a707

Browse files
committed
Fix null buffer segements
1 parent e06635b commit 438a707

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/Microsoft.AspNet.Server.Kestrel/Filter/LibuvStream.cs

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,29 @@ public override Task<int> ReadAsync(byte[] buffer, int offset, int count, Cancel
6868

6969
public override void Write(byte[] buffer, int offset, int count)
7070
{
71-
var segment = new ArraySegment<byte>(buffer, offset, count);
71+
ArraySegment<byte> segment;
72+
if (buffer != null)
73+
{
74+
segment = new ArraySegment<byte>(buffer, offset, count);
75+
}
76+
else
77+
{
78+
segment = default(ArraySegment<byte>);
79+
}
7280
_output.Write(segment);
7381
}
7482

7583
public override Task WriteAsync(byte[] buffer, int offset, int count, CancellationToken token)
7684
{
77-
var segment = new ArraySegment<byte>(buffer, offset, count);
85+
ArraySegment<byte> segment;
86+
if (buffer != null)
87+
{
88+
segment = new ArraySegment<byte>(buffer, offset, count);
89+
}
90+
else
91+
{
92+
segment = default(ArraySegment<byte>);
93+
}
7894
return _output.WriteAsync(segment, cancellationToken: token);
7995
}
8096

0 commit comments

Comments
 (0)