From: Christian Brauner Date: Tue, 3 Jan 2017 10:08:25 +0000 (+0100) Subject: conf: fix suggest_default_idmap() X-Git-Tag: lxc-2.1.0~218^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F1374%2Fhead;p=thirdparty%2Flxc.git conf: fix suggest_default_idmap() We need to remove the newline otherwise lxc_safe_uint() will fail as it detects an invalid (non-numeric) char in the string. Signed-off-by: Christian Brauner --- diff --git a/src/lxc/conf.c b/src/lxc/conf.c index 7d20b5506..b34621995 100644 --- a/src/lxc/conf.c +++ b/src/lxc/conf.c @@ -4514,6 +4514,7 @@ void suggest_default_idmap(void) return; } while (getline(&line, &len, f) != -1) { + size_t no_newline = 0; char *p = strchr(line, ':'), *p2; if (*line == '#') continue; @@ -4530,6 +4531,9 @@ void suggest_default_idmap(void) p2++; if (!*p2) continue; + no_newline = strcspn(p2, "\n"); + p2[no_newline] = '\0'; + if (lxc_safe_uint(p, &uid) < 0) WARN("Could not parse UID."); if (lxc_safe_uint(p2, &urange) < 0) @@ -4545,6 +4549,7 @@ void suggest_default_idmap(void) return; } while (getline(&line, &len, f) != -1) { + size_t no_newline = 0; char *p = strchr(line, ':'), *p2; if (*line == '#') continue; @@ -4561,6 +4566,9 @@ void suggest_default_idmap(void) p2++; if (!*p2) continue; + no_newline = strcspn(p2, "\n"); + p2[no_newline] = '\0'; + if (lxc_safe_uint(p, &gid) < 0) WARN("Could not parse GID."); if (lxc_safe_uint(p2, &grange) < 0)