Hey Junio,

On Tue, Feb 14, 2017 at 12:44 AM, Junio C Hamano <gits...@pobox.com> wrote:
> René Scharfe <l....@web.de> writes:
>
>> Initializing to NULL is still the correct thing to do, of course --
>> together with removing the conditionals (or at least the negations).
>
> So, let's give Pranit a concrete "here is what we want to see
> squashed in", while you guys discuss peculiarity with various
> platforms and their system headers, which admittedly is a more
> interesting tangent ;-)
>
> There are early returns with "goto finish" even before _syn
> variables are first assigned to, so they would need to be
> initialized to NULL.  The other two get their initial values
> right at the beginning, so they are OK.
>
>  builtin/bisect--helper.c | 14 +++++---------
>  1 file changed, 5 insertions(+), 9 deletions(-)
>
> diff --git a/builtin/bisect--helper.c b/builtin/bisect--helper.c
> index 8cd6527bd1..6949e8e5ca 100644
> --- a/builtin/bisect--helper.c
> +++ b/builtin/bisect--helper.c
> @@ -280,7 +280,7 @@ static int bisect_next_check(const struct bisect_terms 
> *terms,
>         int missing_good = 1, missing_bad = 1, retval = 0;
>         char *bad_ref = xstrfmt("refs/bisect/%s", terms->term_bad);
>         char *good_glob = xstrfmt("%s-*", terms->term_good);
> -       char *bad_syn, *good_syn;
> +       char *bad_syn = NULL, *good_syn = NULL;
>
>         if (ref_exists(bad_ref))
>                 missing_bad = 0;
> @@ -341,14 +341,10 @@ static int bisect_next_check(const struct bisect_terms 
> *terms,
>         }
>         goto finish;
>  finish:
> -       if (!bad_ref)
> -               free(bad_ref);
> -       if (!good_glob)
> -               free(good_glob);
> -       if (!bad_syn)
> -               free(bad_syn);
> -       if (!good_syn)
> -               free(good_syn);
> +       free(bad_ref);
> +       free(good_glob);
> +       free(bad_syn);
> +       free(good_syn);
>         return retval;
>  }

This helps a lot ;) Thanks!

Regards,
Pranit Bauva

Reply via email to