[lxc-devel] [PATCH] confile: Don't crash on invalid id_map
Stéphane Graber
stgraber at ubuntu.com
Tue Feb 25 21:42:56 UTC 2014
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
src/lxc/confile.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/lxc/confile.c b/src/lxc/confile.c
index afc9e32..8b1c0b6 100644
--- a/src/lxc/confile.c
+++ b/src/lxc/confile.c
@@ -1300,13 +1300,10 @@ static int config_idmap(const char *key, const char *value, struct lxc_conf *lxc
goto out;
memset(idmap, 0, sizeof(*idmap));
- idmaplist->elem = idmap;
-
- lxc_list_add_tail(&lxc_conf->id_map, idmaplist);
-
ret = sscanf(value, "%c %lu %lu %lu", &type, &nsid, &hostid, &range);
if (ret != 4)
goto out;
+
INFO("read uid map: type %c nsid %lu hostid %lu range %lu", type, nsid, hostid, range);
if (type == 'u')
idmap->idtype = ID_TYPE_UID;
@@ -1314,10 +1311,14 @@ static int config_idmap(const char *key, const char *value, struct lxc_conf *lxc
idmap->idtype = ID_TYPE_GID;
else
goto out;
+
idmap->hostid = hostid;
idmap->nsid = nsid;
idmap->range = range;
+ idmaplist->elem = idmap;
+ lxc_list_add_tail(&lxc_conf->id_map, idmaplist);
+
return 0;
out:
--
1.9.0
More information about the lxc-devel
mailing list