From d92f3d6862906c3d274c9e84fdf88a25bd024c7d Mon Sep 17 00:00:00 2001
From: Micah Elizabeth Scott <micah@scanlime.org>
Date: Sun, 4 May 2014 19:07:10 -0700
Subject: [PATCH] Fix memory leak of one opcBuffer per connection

LWS wasn't giving us the usual connection closed callbacks due to our early hijack of the connection. Instead, delete the buffer when we unregister the client's poll FD.

resolves #28
---
 server/src/netserver.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/server/src/netserver.cpp b/server/src/netserver.cpp
index bd72bff..8910535 100644
--- a/server/src/netserver.cpp
+++ b/server/src/netserver.cpp
@@ -130,6 +130,7 @@ int NetServer::lwsCallback(libwebsocket_context *context, libwebsocket *wsi,
     switch (reason) {
         case LWS_CALLBACK_CLOSED:
         case LWS_CALLBACK_CLOSED_HTTP:
+        case LWS_CALLBACK_DEL_POLL_FD:
             if (client && client->opcBuffer) {
                 free(client->opcBuffer);
                 client->opcBuffer = NULL;
-- 
GitLab