[CRIU] [PATCH 2/7] proc_parse: use construct string to create new->mountpoint
Andrew Vagin
avagin at virtuozzo.com
Thu Dec 17 00:00:53 PST 2015
We can do the same without additional magic functions.
On Wed, Dec 16, 2015 at 06:33:09PM +0300, Stanislav Kinsburskiy wrote:
> Signed-off-by: Stanislav Kinsburskiy <skinsbursky at virtuozzo.com>
> ---
> proc_parse.c | 14 +++++---------
> 1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/proc_parse.c b/proc_parse.c
> index 2eef21a..3a62ac2 100644
> --- a/proc_parse.c
> +++ b/proc_parse.c
> @@ -1115,21 +1115,16 @@ static int parse_mountinfo_ent(char *str, struct mount_info *new, char **fsname)
> unsigned int kmaj, kmin;
> int ret, n;
> char *sub, *opt = NULL;
> + char mountpoint[PATH_MAX];
>
> - new->mountpoint = xmalloc(PATH_MAX);
> - if (new->mountpoint == NULL)
> - goto err;
> - new->ns_mountpoint = new->mountpoint;
> -
> - new->mountpoint[0] = '.';
mountpoint = '.';
> ret = sscanf(str, "%i %i %u:%u %ms %s %ms %n",
> &new->mnt_id, &new->parent_mnt_id,
> - &kmaj, &kmin, &new->root, new->mountpoint + 1,
> + &kmaj, &kmin, &new->root, mountpoint,
&kmaj, &kmin, &new->root, mountpoint + 1,
> &opt, &n);
> if (ret != 7)
> goto err;
>
> - cure_path(new->mountpoint);
> + cure_path(mountpoint);
> cure_path(new->root);
>
> root_link.len = strlen(new->root);
> @@ -1139,9 +1134,10 @@ static int parse_mountinfo_ent(char *str, struct mount_info *new, char **fsname)
> new->deleted = true;
> }
>
> - new->mountpoint = xrealloc(new->mountpoint, strlen(new->mountpoint) + 1);
> + new->mountpoint = construct_string(".%s", mountpoint);
new->mountpoint = xstrdup(mountpoint);
> if (!new->mountpoint)
> goto err;
> + new->ns_mountpoint = new->mountpoint;
>
> new->s_dev = new->s_dev_rt = MKKDEV(kmaj, kmin);
> new->flags = 0;
>
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu
More information about the CRIU
mailing list