[lxc-devel] [PATCH] confile: Don't crash on invalid id_map
Serge Hallyn
serge.hallyn at ubuntu.com
Tue Feb 25 21:52:50 UTC 2014
Quoting Stéphane Graber (stgraber at ubuntu.com):
> Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn 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
>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
More information about the lxc-devel
mailing list