From 76356656118a90f3f23edd56fcf0dd1b3e10898c Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Thu, 14 Jun 2018 22:05:09 +0200 Subject: [PATCH] coverity: #1425760 Use of untrusted scalar value Signed-off-by: Christian Brauner --- src/lxc/tools/lxc_ls.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/lxc/tools/lxc_ls.c b/src/lxc/tools/lxc_ls.c index 4089b9361..c152d6155 100644 --- a/src/lxc/tools/lxc_ls.c +++ b/src/lxc/tools/lxc_ls.c @@ -1136,17 +1136,27 @@ static int ls_serialize(int wpipefd, struct ls *n) static int ls_recv_str(int fd, char **buf) { + ssize_t ret; size_t slen = 0; - if (lxc_read_nointr(fd, &slen, sizeof(slen)) != sizeof(slen)) + + ret = lxc_read_nointr(fd, &slen, sizeof(slen)); + if (ret != sizeof(slen)) return -1; + if (slen > 0) { *buf = malloc(sizeof(char) * (slen + 1)); if (!*buf) return -1; - if (lxc_read_nointr(fd, *buf, slen) != (ssize_t)slen) + + ret = lxc_read_nointr(fd, *buf, slen); + if (ret != (ssize_t)slen) { + free(*buf); return -1; + } + (*buf)[slen] = '\0'; } + return 0; } -- 2.47.2