Skip to content
This repository was archived by the owner on Jul 9, 2023. It is now read-only.

Commit 9f87c0e

Browse files
committed
Fix
1 parent 33d86a5 commit 9f87c0e

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/Titanium.Web.Proxy/Helpers/HttpStream.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using System.Threading.Tasks;
1010
using Titanium.Web.Proxy.Compression;
1111
using Titanium.Web.Proxy.EventArguments;
12+
using Titanium.Web.Proxy.Exceptions;
1213
using Titanium.Web.Proxy.Extensions;
1314
using Titanium.Web.Proxy.Http;
1415
using Titanium.Web.Proxy.Models;
@@ -1102,13 +1103,16 @@ private async Task copyBodyChunkedAsync(IHttpStreamWriter writer, Action<byte[],
11021103
return;
11031104
}
11041105

1105-
int idx = chunkHead.IndexOf(";");
1106+
int idx = chunkHead.IndexOf(";", StringComparison.Ordinal);
11061107
if (idx >= 0)
11071108
{
11081109
chunkHead = chunkHead.Substring(0, idx);
11091110
}
11101111

1111-
int chunkSize = int.Parse(chunkHead, NumberStyles.HexNumber);
1112+
if (!int.TryParse(chunkHead, NumberStyles.HexNumber, null, out int chunkSize))
1113+
{
1114+
throw new ProxyHttpException($"Invalid chunk length: '{chunkHead}'", null, null);
1115+
}
11121116

11131117
await writer.WriteLineAsync(chunkHead, cancellationToken);
11141118

0 commit comments

Comments
 (0)