diff --git a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs index 79f495290a..2819bc9daf 100644 --- a/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs +++ b/OpenSim/Framework/Servers/HttpServer/BaseHttpServer.cs @@ -637,11 +637,11 @@ namespace OpenSim.Framework.Servers.HttpServer { try { + if(request.InputStream != null && request.InputStream.CanRead) + request.InputStream.Close(); byte[] buffer500 = SendHTML500(response); response.OutputStream.Write(buffer500, 0, buffer500.Length); response.Send(); - if(request.InputStream.CanRead) - request.InputStream.Close(); } catch { @@ -829,7 +829,7 @@ namespace OpenSim.Framework.Servers.HttpServer } } - if(request.InputStream.CanRead) + if(request.InputStream != null && request.InputStream.CanRead) request.InputStream.Dispose(); if (buffer != null) @@ -894,7 +894,7 @@ namespace OpenSim.Framework.Servers.HttpServer } finally { - if(request.InputStream.CanRead) + if(request.InputStream != null && request.InputStream.CanRead) request.InputStream.Close(); // Every month or so this will wrap and give bad numbers, not really a problem