From 92dbad919a7a56c12e87547f05b905530f66dd7b Mon Sep 17 00:00:00 2001 From: Alan Coopersmith Date: Fri, 17 May 2013 18:57:17 -0700 Subject: Avoid double free of client.conn if HandleClientRequest detects disconnect Signed-off-by: Alan Coopersmith --- src/server.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/server.c b/src/server.c index cc853bf..51bdf91 100644 --- a/src/server.c +++ b/src/server.c @@ -494,6 +494,7 @@ HandleClientRequest(client_state *client, xhiv_response *responses) if ((rbytes == 0) && (errno == 0)) { /* client disconnected */ _XSERVTransClose(client->conn); + client->conn = NULL; return; } if (rbytes <= 0) { @@ -728,7 +729,8 @@ XhivRunServer(XtransConnInfo *ListenTransConns, int ListenTransCount, else clientfd.events = POLLIN | POLLOUT; } - _XSERVTransClose(client.conn); + if (client.conn != NULL) + _XSERVTransClose(client.conn); exit(0); } -- cgit v1.2.3