mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
bisect--helper: avoid use-after-free
In 5e82c3dd22
(bisect--helper: `bisect_reset` shell function in C,
2019-01-02), the `git bisect reset` subcommand was ported to C. When the
call to `git checkout` failed, an error message was reported to the
user.
However, this error message used the `strbuf` that had just been
released already. Let's switch that around: first use it, then release
it.
Mentored-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Mentored-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Tanushree Tumane <tanushreetumane@gmail.com>
Signed-off-by: Miriam Rubio <mirucam@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
367f12b7e9
commit
51a0a4ed95
|
@ -169,11 +169,12 @@ static int bisect_reset(const char *commit)
|
|||
|
||||
argv_array_pushl(&argv, "checkout", branch.buf, "--", NULL);
|
||||
if (run_command_v_opt(argv.argv, RUN_GIT_CMD)) {
|
||||
error(_("could not check out original"
|
||||
" HEAD '%s'. Try 'git bisect"
|
||||
" reset <commit>'."), branch.buf);
|
||||
strbuf_release(&branch);
|
||||
argv_array_clear(&argv);
|
||||
return error(_("could not check out original"
|
||||
" HEAD '%s'. Try 'git bisect"
|
||||
" reset <commit>'."), branch.buf);
|
||||
return -1;
|
||||
}
|
||||
argv_array_clear(&argv);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue