Re: [PATCH] fixup! bisect--helper: `bisect_next_check` & bisect_voc shell function in C
- From
Pranit Bauva <pranit.bauva@gmail.com>
- Date
- Feb 13, 2017, 19:34 UTC
- Message-ID
- <CAFZEwPNUXcNY9Qdz=_B7q2kQuaecPzJtTMGdv8YMUPEz2vnp8A@mail.gmail.com>
- In-Reply-To
- <xmqqinodewdr.fsf@gitster.mtv.corp.google.com>
Hey Junio,
On Tue, Feb 14, 2017 at 12:44 AM, Junio C Hamano <gitster@pobox.com> wrote:
Show 49 quoted lines
> René Scharfe <l.s.r@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