From: Shuanglei Tao Date: Tue, 9 Jan 2018 16:09:30 +0000 (+0800) Subject: protocol: fix a regression that may crashes the server X-Git-Url: http://git.prime8.dev/?a=commitdiff_plain;h=710aa1cd98d065fa07743635870167f415ad2e1a;p=ttyd.git protocol: fix a regression that may crashes the server --- diff --git a/src/protocol.c b/src/protocol.c index 70fdc6c..845718c 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -99,7 +99,8 @@ tty_client_remove(struct tty_client *client) { void tty_client_destroy(struct tty_client *client) { if (!client->running || client->pid <= 0) - return; + goto cleanup; + client->running = false; // kill process and free resource @@ -113,6 +114,7 @@ tty_client_destroy(struct tty_client *client) { lwsl_notice("process exited with code %d, pid: %d\n", status, client->pid); close(client->pty); +cleanup: // free the buffer if (client->buffer != NULL) free(client->buffer);