diff --git a/src/Cedar/Command.c b/src/Cedar/Command.c index dce502bb..b1c719f3 100644 --- a/src/Cedar/Command.c +++ b/src/Cedar/Command.c @@ -99,6 +99,8 @@ void CheckNetworkAcceptThread(THREAD *thread, void *param) Disconnect(s); ReleaseSock(s); + + Free(c); } @@ -155,15 +157,15 @@ void CheckNetworkListenThread(THREAD *thread, void *param) } else { - CHECK_NETWORK_2 c; + CHECK_NETWORK_2 *c; THREAD *t; - Zero(&c, sizeof(c)); - c.s = new_sock; - c.k = pri; - c.x = x; + c = ZeroMalloc(sizeof(CHECK_NETWORK_2)); + c->s = new_sock; + c->k = pri; + c->x = x; - t = NewThread(CheckNetworkAcceptThread, &c); + t = NewThread(CheckNetworkAcceptThread, c); Insert(o, t); } }