Return error code instead of the last byte of the file if range is not satisfiable
parent
06d3a529a9
commit
5e381ec67c
|
@ -186,7 +186,15 @@ namespace OpenSim.Region.CoreModules.Avatar.ObjectCaps
|
|||
// Range request
|
||||
int start, end;
|
||||
if (TryParseRange(range, out start, out end))
|
||||
{
|
||||
{
|
||||
// Before clamping end make sure we can satisfy it in order to avoid
|
||||
// sending back the last byte instead of an error status
|
||||
if (end >= texture.Data.Length)
|
||||
{
|
||||
response.StatusCode = (int)System.Net.HttpStatusCode.RequestedRangeNotSatisfiable;
|
||||
return;
|
||||
}
|
||||
|
||||
end = Utils.Clamp(end, 0, texture.Data.Length - 1);
|
||||
start = Utils.Clamp(start, 0, end);
|
||||
int len = end - start + 1;
|
||||
|
|
Loading…
Reference in New Issue