From 65d63c505e86aab7b0856327a4274a985f05a59f 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 fd236c947..a7e0ed220 100644 --- a/src/lxc/tools/lxc_ls.c +++ b/src/lxc/tools/lxc_ls.c @@ -1114,17 +1114,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