From: Christian Brauner Date: Sat, 9 Dec 2017 18:53:43 +0000 (+0100) Subject: coverity: #1425859 X-Git-Tag: lxc-2.0.10~474 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=656bb5fb8e1f2b9072e4491c50ccb5293b64c12d;p=thirdparty%2Flxc.git coverity: #1425859 check return value of snprintf() Signed-off-by: Christian Brauner --- diff --git a/src/lxc/utils.c b/src/lxc/utils.c index 9ea467d3c..3d34332c2 100644 --- a/src/lxc/utils.c +++ b/src/lxc/utils.c @@ -717,10 +717,12 @@ char *lxc_deslashify(const char *path) char *lxc_append_paths(const char *first, const char *second) { - size_t len = strlen(first) + strlen(second) + 1; - const char *pattern = "%s%s"; + int ret; + size_t len; char *result = NULL; + const char *pattern = "%s%s"; + len = strlen(first) + strlen(second) + 1; if (second[0] != '/') { len += 1; pattern = "%s/%s"; @@ -730,7 +732,12 @@ char *lxc_append_paths(const char *first, const char *second) if (!result) return NULL; - snprintf(result, len, pattern, first, second); + ret = snprintf(result, len, pattern, first, second); + if (ret < 0 || (size_t)ret >= len) { + free(result); + return NULL; + } + return result; }