Quoting Christian Brauner (christianvanbrau...@gmail.com):
> Instead of duplicating the cleanup-code, once for success and once for
> failure,
> simply keep a variable fret which is -1 in the beginning and gets set to 0 on
> success or stays -1 on failure.
>
> Signed-off-by: Christian Brauner
Acked-by: Serge E. Hallyn
> ---
> src/lxc/conf.c | 14 ++
> 1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index 932d1a3..142444e 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -1860,6 +1860,7 @@ static int mount_entry_create_overlay_dirs(const struct
> mntent *mntent,
> char *upperdir = NULL;
> char *workdir = NULL;
> char **opts = NULL;
> + int fret = -1;
> int ret = 0;
> size_t arrlen = 0;
> size_t dirlen = 0;
> @@ -1907,14 +1908,12 @@ static int mount_entry_create_overlay_dirs(const
> struct mntent *mntent,
> WARN("Failed to create workdir");
> }
>
> - free(rootfsdir);
> - lxc_free_array((void **)opts, free);
> - return 0;
> + fret = 0;
>
> err:
> free(rootfsdir);
> lxc_free_array((void **)opts, free);
> - return -1;
> + return fret;
> }
>
> static int mount_entry_create_aufs_dirs(const struct mntent *mntent,
> @@ -1928,6 +1927,7 @@ static int mount_entry_create_aufs_dirs(const struct
> mntent *mntent,
> char *tmp = NULL;
> char *upperdir = NULL;
> char **opts = NULL;
> + int fret = -1;
> int ret = 0;
> size_t arrlen = 0;
> size_t i;
> @@ -1969,14 +1969,12 @@ static int mount_entry_create_aufs_dirs(const struct
> mntent *mntent,
> WARN("Failed to create upperdir");
> }
>
> - free(rootfsdir);
> - lxc_free_array((void **)opts, free);
> - return 0;
> + fret = 0;
>
> err:
> free(rootfsdir);
> lxc_free_array((void **)opts, free);
> - return -1;
> + return fret;
> }
>
>
> --
> 2.6.2
>
> ___
> lxc-devel mailing list
> lxc-devel@lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
___
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel