From: Christian Brauner Date: Tue, 23 Feb 2021 20:06:56 +0000 (+0100) Subject: commands: handle old clients for LXC_CMD_GET_CGROUP_CTX X-Git-Tag: lxc-5.0.0~272^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7ec5eee4f0598ed68ffd90f3ca0631ae98efb8c4;p=thirdparty%2Flxc.git commands: handle old clients for LXC_CMD_GET_CGROUP_CTX Signed-off-by: Christian Brauner --- diff --git a/src/lxc/commands.c b/src/lxc/commands.c index 6df08f5ec..7564c70c8 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -198,8 +198,8 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) rsp->data = INT_TO_PTR(move_fd(fds->fd[0])); return log_debug(fret ?: ret, "Finished processing \"%s\"", reqstr); case LXC_CMD_GET_CGROUP_CTX: - if (rsp->datalen > sizeof(struct cgroup_ctx)) - return syserrno_set(-EINVAL, "Invalid response size from server for \"%s\"", reqstr); + if ((rsp->datalen == 0) || (rsp->datalen > sizeof(struct cgroup_ctx))) + return syserrno_set(fret ?: -EINVAL, "Invalid response size from server for \"%s\"", reqstr); /* Don't pointlessly allocate. */ rsp->data = (void *)cmd->req.data;