commands: handle old clients for LXC_CMD_GET_CGROUP_CTX

parent 490265b1
...@@ -198,8 +198,8 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) ...@@ -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])); rsp->data = INT_TO_PTR(move_fd(fds->fd[0]));
return log_debug(fret ?: ret, "Finished processing \"%s\"", reqstr); return log_debug(fret ?: ret, "Finished processing \"%s\"", reqstr);
case LXC_CMD_GET_CGROUP_CTX: case LXC_CMD_GET_CGROUP_CTX:
if (rsp->datalen > sizeof(struct cgroup_ctx)) if ((rsp->datalen == 0) || (rsp->datalen > sizeof(struct cgroup_ctx)))
return syserrno_set(-EINVAL, "Invalid response size from server for \"%s\"", reqstr); return syserrno_set(fret ?: -EINVAL, "Invalid response size from server for \"%s\"", reqstr);
/* Don't pointlessly allocate. */ /* Don't pointlessly allocate. */
rsp->data = (void *)cmd->req.data; rsp->data = (void *)cmd->req.data;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment