commands: cleanup error handling and variable naming

parent cca31bf0
...@@ -168,8 +168,7 @@ static ssize_t lxc_cmd_rsp_recv_fds(int fd_sock, struct unix_fds *fds, ...@@ -168,8 +168,7 @@ static ssize_t lxc_cmd_rsp_recv_fds(int fd_sock, struct unix_fds *fds,
*/ */
static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
{ {
__do_free void *__private_ptr = NULL; __do_free void *__data = NULL;
struct lxc_cmd_tty_rsp_data *data_console = NULL;
call_cleaner(put_unix_fds) struct unix_fds *fds = &(struct unix_fds){ call_cleaner(put_unix_fds) struct unix_fds *fds = &(struct unix_fds){
.fd[0 ... KERNEL_SCM_MAX_FD - 1] = -EBADF, .fd[0 ... KERNEL_SCM_MAX_FD - 1] = -EBADF,
}; };
...@@ -275,24 +274,25 @@ static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) ...@@ -275,24 +274,25 @@ static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
if (bytes_recv == 0 || rsp->ret < 0) if (bytes_recv == 0 || rsp->ret < 0)
return 0; return 0;
__private_ptr = malloc(sizeof(struct lxc_cmd_tty_rsp_data)); __data = malloc(sizeof(struct lxc_cmd_tty_rsp_data));
if (!__private_ptr) if (__data) {
return syserrno_set(-ENOMEM, "Failed to receive response for command \"%s\"", cur_cmdstr); struct lxc_cmd_tty_rsp_data *tty = __data;
data_console = (struct lxc_cmd_tty_rsp_data *)__private_ptr;
data_console->ptxfd = move_fd(fds->fd[0]);
data_console->ttynum = PTR_TO_INT(rsp->data);
tty->ptxfd = move_fd(fds->fd[0]);
tty->ttynum = PTR_TO_INT(rsp->data);
rsp->datalen = 0; rsp->datalen = 0;
rsp->data = data_console; rsp->data = tty;
break; break;
}
return syserrno_set(-ENOMEM, "Failed to receive response for command \"%s\"", cur_cmdstr);
case LXC_CMD_CONSOLE_LOG: /* data */ case LXC_CMD_CONSOLE_LOG: /* data */
__private_ptr = zalloc(rsp->datalen + 1); __data = zalloc(rsp->datalen + 1);
rsp->data = __private_ptr; rsp->data = __data;
break; break;
default: /* catch any additional command */ default: /* catch any additional command */
if (rsp->datalen > 0) { if (rsp->datalen > 0) {
__private_ptr = zalloc(rsp->datalen); __data = zalloc(rsp->datalen);
rsp->data = __private_ptr; rsp->data = __data;
} }
break; break;
} }
...@@ -329,7 +329,7 @@ static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd) ...@@ -329,7 +329,7 @@ static ssize_t lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
return syserrno(err, "Failed to transfer file descriptors for command \"%s\"", cur_cmdstr); return syserrno(err, "Failed to transfer file descriptors for command \"%s\"", cur_cmdstr);
} }
move_ptr(__private_ptr); move_ptr(__data);
return bytes_recv; return bytes_recv;
} }
......
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