I took another look at this. The problem begins in ServerState::HeaderLine() Where we parse a Content-Range header:
Content-Range: bytes 587-600/601
So we set StartPos to 587. Then in HttpServerState::RunData() we do
In.Limit(Size - StartPos);
where Size is 14. We pass a negative number into Limit() which means MaxGet is set to something less than OutP, and we loop forever.
I took another look at this. The problem begins in ServerState: :HeaderLine( ) Where we parse a Content-Range header:
Content-Range: bytes 587-600/601
So we set StartPos to 587. Then in HttpServerState ::RunData( ) we do
In.Limit(Size - StartPos);
where Size is 14. We pass a negative number into Limit() which means MaxGet is set to something less than OutP, and we loop forever.