From 54dcfd8160056ba7da311da8d3c2cdce652cb7e5 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sat, 1 Sep 2018 00:14:06 +0200 Subject: [PATCH 1/2] commands: assign before converting to pointer Signed-off-by: Christian Brauner --- src/lxc/commands.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lxc/commands.c b/src/lxc/commands.c index f6a9e4fda..e57a64f33 100644 --- a/src/lxc/commands.c +++ b/src/lxc/commands.c @@ -402,8 +402,10 @@ pid_t lxc_cmd_get_init_pid(const char *name, const char *lxcpath) static int lxc_cmd_get_init_pid_callback(int fd, struct lxc_cmd_req *req, struct lxc_handler *handler) { + intmax_t pid = handler->pid; + struct lxc_cmd_rsp rsp = { - .data = INTMAX_TO_PTR(handler->pid) + .data = INTMAX_TO_PTR(pid) }; return lxc_cmd_rsp_send(fd, &rsp); From 0c9b1f826d3bb1d3a927b2b6f4d580cd7ff28852 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sat, 1 Sep 2018 00:53:33 +0200 Subject: [PATCH 2/2] macro: calculate buffer lengths correctly Signed-off-by: Christian Brauner --- src/lxc/macro.h | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/src/lxc/macro.h b/src/lxc/macro.h index 96d737267..8c8c91a6e 100644 --- a/src/lxc/macro.h +++ b/src/lxc/macro.h @@ -155,13 +155,30 @@ * + * \0 = 1 */ -#define LXC_PROC_PID_FD_LEN (6 + INTTYPE_TO_STRLEN(pid_t) + 4 + INTTYPE_TO_STRLEN(int) + 1) +#define LXC_PROC_PID_FD_LEN \ + (6 + INTTYPE_TO_STRLEN(pid_t) + 4 + INTTYPE_TO_STRLEN(int) + 1) -/* /proc/pid-to-str/status\0 = (5 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) */ -#define LXC_PROC_STATUS_LEN (5 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) +/* /proc/ = 6 + * + + * = INTTYPE_TO_STRLEN(pid_t) + * + + * /status = 7 + * + + * \0 = 1 + */ +#define LXC_PROC_STATUS_LEN (6 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) -/* /proc/pid-to-str/attr/current = (5 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) */ -#define LXC_LSMATTRLEN (5 + INTTYPE_TO_STRLEN(pid_t) + 7 + 1) +/* /proc/ = 6 + * + + * = INTTYPE_TO_STRLEN(pid_t) + * + + * /attr/ = 6 + * + + * /current = 8 + * + + * \0 = 1 + */ +#define LXC_LSMATTRLEN (6 + INTTYPE_TO_STRLEN(pid_t) + 6 + 8 + 1) #define LXC_CMD_DATA_MAX (MAXPATHLEN * 2)