diff --git a/webserver.cc b/webserver.cc index c46e1d0..61a0b28 100644 --- a/webserver.cc +++ b/webserver.cc @@ -293,10 +293,11 @@ int WebServerClient::SendResponseFile (WebRequestBuffer *request, std::string fn filereadbytes += outbufferpos; } else { - header = CreateHeader (request, error, filetype, filestat.st_size, addheader); - header = header + GenErrorHtml(error, "some internal server error"); + header = GenErrorHtml(error, "some internal server error"); + header = CreateHeader (request, error, filetype, header.length(), addheader) + header; outbuffer = (char*) malloc (header.length() + 16); memcpy (outbuffer, header.c_str(), header.length()); + filereadbytes = header.length(); } if (ssl) l = ssl->Write(outbuffer, filereadbytes);