blame: fix memory corruption scrambling revision name in error message
authorSZEDER Gábor <szeder.dev@gmail.com>
Mon, 24 Jul 2017 21:15:50 +0000 (23:15 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Jul 2017 21:38:02 +0000 (14:38 -0700)
commit9e7d8a9bfb329c7f099abc1390a294482b5adbae
treeb490b405df11d787252cf5546ec50846e5c5b602
parentbd481de713cb59a57f5f988b9bc46550c954dc45
blame: fix memory corruption scrambling revision name in error message

When attempting to blame a non-existing path, git should show an error
message like this:

  $ git blame e83c51633 -- nonexisting-file
  fatal: no such path nonexisting-file in e83c51633

Since the recent commit 835c49f7d (blame: rework methods that
determine 'final' commit, 2017-05-24) the revision name is either
missing or some scrambled characters are shown instead.  The reason is
that the revision name must be duplicated, because it is invalidated
when the pending objects array is cleared in the meantime, but this
commit dropped the duplication.

Restore the duplication of the revision name in the affected functions
(find_single_final() and find_single_initial()).

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
blame.c