wt-status: avoid building bogus branch name with detached HEAD
commitbaf0a3e47d807b63e9fc5628caa455d1da91dd6c
authorRené Scharfe <l.s.r@web.de>
Sat, 31 Oct 2015 17:36:35 +0000 (31 18:36 +0100)
committerJunio C Hamano <gitster@pobox.com>
Sun, 1 Nov 2015 17:58:20 +0000 (1 09:58 -0800)
treeda59ce7b46e19b24fe669c6ae26183ebb4e6a741
parentbcf8cc25acb3378bf62f2cfc27c28302585841c0
wt-status: avoid building bogus branch name with detached HEAD

If we're on a detached HEAD then wt_shortstatus_print_tracking() takes
the string "HEAD (no branch)", translates it, skips the first eleven
characters and passes the result to branch_get(), which returns a bogus
result and accesses memory out of bounds in order to produce it.
Somehow stat_tracking_info(), which is passed that result, does the
right thing anyway, i.e. it finds that there is no base.

Avoid the bogus results and memory accesses by checking for HEAD first
and exiting early in that case.  This fixes t7060 with --valgrind.

Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7060-wtstatus.sh
wt-status.c