]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
commands: tweak return values
authorChristian Brauner <christian.brauner@ubuntu.com>
Wed, 24 Feb 2021 08:17:03 +0000 (09:17 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Fri, 26 Feb 2021 20:28:58 +0000 (21:28 +0100)
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/commands.c

index d15ec6f04a13a265744f6077673422e6fc706a45..6985d31a8af1c49bf31f9a01a605f43bc0b841dc 100644 (file)
@@ -180,7 +180,7 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
 
                rspdata = malloc(sizeof(*rspdata));
                if (!rspdata)
-                       return syserrno_set(-ENOMEM, "Failed to receive response for command \"%s\"", cur_cmdstr);
+                       return syserrno_set(fret ?: -ENOMEM, "Failed to receive response for command \"%s\"", cur_cmdstr);
 
                rspdata->ptxfd = move_fd(fds->fd[0]);
                rspdata->ttynum = PTR_TO_INT(rsp->data);
@@ -215,7 +215,7 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
 
        if ((rsp->datalen > LXC_CMD_DATA_MAX) &&
            (cur_cmd != LXC_CMD_CONSOLE_LOG))
-               return syserrno_set(-E2BIG, "Response data for command \"%s\" is too long: %d bytes > %d",
+               return syserrno_set(fret ?: -E2BIG, "Response data for command \"%s\" is too long: %d bytes > %d",
                                    cur_cmdstr, rsp->datalen, LXC_CMD_DATA_MAX);
 
        if (cur_cmd == LXC_CMD_CONSOLE_LOG)
@@ -223,7 +223,7 @@ static int lxc_cmd_rsp_recv(int sock, struct lxc_cmd_rr *cmd)
        else if (cur_cmd != LXC_CMD_GET_CGROUP_CTX)
                rsp->data = malloc(rsp->datalen);
        if (!rsp->data)
-               return syserrno_set(-ENOMEM, "Failed to allocate response buffer for command \"%s\"", cur_cmdstr);
+               return syserrno_set(fret ?: -ENOMEM, "Failed to allocate response buffer for command \"%s\"", cur_cmdstr);
 
        ret = lxc_recv_nointr(sock, rsp->data, rsp->datalen, 0);
        if (ret != rsp->datalen)