diff options
author | special <special@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-19 05:00:12 +0000 |
---|---|---|
committer | special <special@e03df62e-2008-0410-955e-edbf42e46eb7> | 2007-08-19 05:00:12 +0000 |
commit | 3eed8d802172a3488a6c4b6dc4de0601cd857207 (patch) | |
tree | fadb4746f08bef106df2c230a56e761b58975527 | |
parent | 9799eabcfd2ef314d1dcd6b212d02fadd85e02a4 (diff) |
Fixed a crash within the timeout for m_httpd sockets
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7740 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_httpd.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/m_httpd.cpp b/src/modules/m_httpd.cpp index af8eac920..f96182103 100644 --- a/src/modules/m_httpd.cpp +++ b/src/modules/m_httpd.cpp @@ -68,7 +68,8 @@ class HttpServerSocket : public InspSocket std::string http_version; unsigned int postsize; HttpServerTimeout* Timeout; - + friend class HttpServerTimeout; + public: HttpServerSocket(InspIRCd* SI, std::string host, int port, bool listening, unsigned long maxtime, FileReader* index_page) : InspSocket(SI, host, port, listening, maxtime), index(index_page), postsize(0) @@ -103,8 +104,7 @@ class HttpServerSocket : public InspSocket { if (InternalState == HTTP_LISTEN) { - HttpServerSocket* s = new HttpServerSocket(this->Instance, newsock, ip, index); - s = s; /* Stop GCC whining */ + new HttpServerSocket(this->Instance, newsock, ip, index); } return true; } @@ -343,6 +343,7 @@ void HttpServerTimeout::Tick(time_t TIME) { SE->DelFd(s); s->Close(); + s->Timeout = NULL; } class ModuleHttpServer : public Module |