[PATCH 1/1] fix if(p)/free(p) construct

Denys Vlasenko vda.linux at googlemail.com
Sun Jun 7 16:28:07 UTC 2015


Applied, thanks!

On Mon, Jun 1, 2015 at 12:38 PM, Maninder Singh <maninder1.s at samsung.com> wrote:
> No need of explicit NULL check before free.
>
> Signed-off-by: Maninder Singh <maninder1.s at samsung.com>
> Signed-off-by: Akhilesh Kumar <akhilesh.k at samsung.com>
> ---
>  e2fsprogs/old_e2fsprogs/blkid/dev.c |    3 +--
>  e2fsprogs/old_e2fsprogs/fsck.c      |   12 ++++--------
>  scripts/kconfig/confdata.c          |    3 +--
>  scripts/kconfig/util.c              |    3 +--
>  4 files changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/e2fsprogs/old_e2fsprogs/blkid/dev.c b/e2fsprogs/old_e2fsprogs/blkid/dev.c
> index 84b7b0a..c2bbb06 100644
> --- a/e2fsprogs/old_e2fsprogs/blkid/dev.c
> +++ b/e2fsprogs/old_e2fsprogs/blkid/dev.c
> @@ -44,8 +44,7 @@ void blkid_free_dev(blkid_dev dev)
>                                            bit_tags);
>                 blkid_free_tag(tag);
>         }
> -       if (dev->bid_name)
> -               free(dev->bid_name);
> +       free(dev->bid_name);
>         free(dev);
>  }
>
> diff --git a/e2fsprogs/old_e2fsprogs/fsck.c b/e2fsprogs/old_e2fsprogs/fsck.c
> index 91cce97..87874ce 100644
> --- a/e2fsprogs/old_e2fsprogs/fsck.c
> +++ b/e2fsprogs/old_e2fsprogs/fsck.c
> @@ -354,12 +354,9 @@ static void parse_escape(char *word)
>
>  static void free_instance(struct fsck_instance *i)
>  {
> -       if (i->prog)
> -               free(i->prog);
> -       if (i->device)
> -               free(i->device);
> -       if (i->base_device)
> -               free(i->base_device);
> +       free(i->prog);
> +       free(i->device);
> +       free(i->base_device);
>         free(i);
>  }
>
> @@ -432,8 +429,7 @@ static int parse_fstab_line(char *line, struct fs_info **ret_fs)
>         fs = create_fs_device(device, mntpnt, type ? type : "auto", opts,
>                               freq ? atoi(freq) : -1,
>                               passno ? atoi(passno) : -1);
> -       if (dev)
> -               free(dev);
> +       free(dev);
>
>         if (!fs)
>                 return -1;
> diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c
> index 303df0b..8f4ecbd 100644
> --- a/scripts/kconfig/confdata.c
> +++ b/scripts/kconfig/confdata.c
> @@ -124,8 +124,7 @@ int conf_read_simple(const char *name)
>                 case S_INT:
>                 case S_HEX:
>                 case S_STRING:
> -                       if (sym->user.val)
> -                               free(sym->user.val);
> +                       free(sym->user.val);
>                 default:
>                         sym->user.val = NULL;
>                         sym->user.tri = no;
> diff --git a/scripts/kconfig/util.c b/scripts/kconfig/util.c
> index 2630919..13369e6 100644
> --- a/scripts/kconfig/util.c
> +++ b/scripts/kconfig/util.c
> @@ -79,8 +79,7 @@ struct gstr str_assign(const char *s)
>  /* Free storage for growable string */
>  void str_free(struct gstr *gs)
>  {
> -       if (gs->s)
> -               free(gs->s);
> +       free(gs->s);
>         gs->s = NULL;
>         gs->len = 0;
>  }
> --
> 1.7.1
>
> Thanks
> Maninder Singh
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox


More information about the busybox mailing list