Skip to content

Commit acb5c7f

Browse files
Merge pull request #9 from Lercher/omnisharp-fix-header-parser
BugFix - don't throw if headers won't split evenly at CR, LF, ':'
2 parents ea0d897 + 6d07053 commit acb5c7f

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/JsonRpc/InputHandler.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,10 +90,11 @@ private async void ProcessInputStream()
9090
var headersContent = new string(buffer, 0, current);
9191
var headers = headersContent.Split(HeaderKeys, StringSplitOptions.RemoveEmptyEntries);
9292
long length = 0;
93-
for (var i = 0; i < headers.Length; i += 2)
93+
for (var i = 1; i < headers.Length; i += 2)
9494
{
95-
var header = headers[0];
96-
var value = headers[i + 1].Trim();
95+
// starting at i = 1 instead of 0 won't throw, if we have uneven headers' length
96+
var header = headers[i - 1];
97+
var value = headers[i].Trim();
9798
if (header.Equals("Content-Length", StringComparison.OrdinalIgnoreCase))
9899
{
99100
length = long.Parse(value);

0 commit comments

Comments
 (0)