From 338747dc5a3f655dc6b565902f05dd798f975374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sat, 2 Nov 2019 12:17:30 +0100 Subject: [PATCH] server: don't get stuck in read() if TERM length is 0 --- server.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server.c b/server.c index 99288fba..6ad6230e 100644 --- a/server.c +++ b/server.c @@ -113,8 +113,10 @@ fdm_client(struct fdm *fdm, int fd, int events, void *data) term_env = malloc(term_env_len + 1); term_env[term_env_len] = '\0'; - if (recv(fd, term_env, term_env_len, 0) != term_env_len) - goto shutdown; + if (term_env_len > 0) { + if (recv(fd, term_env, term_env_len, 0) != term_env_len) + goto shutdown; + } if (recv(fd, &client->argc, sizeof(client->argc), 0) != sizeof(client->argc)) goto shutdown;