diff options
author | Jeff King <peff@peff.net> | 2017-10-19 13:49:01 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-10-21 21:29:37 +0900 |
commit | d79be4983bdf6598f106710a4826752a96f5dd58 (patch) | |
tree | 9ec7aaa5ff5ab93b5d32c6ecdcffbbad58df4191 /diffcore-break.c | |
parent | remote: handle broken symrefs (diff) | |
download | tgif-d79be4983bdf6598f106710a4826752a96f5dd58.tar.xz |
log: handle broken HEAD in decoration check
The resolve_ref_unsafe() function may return NULL even with
a REF_ISSYMREF flag if a symref points to a broken ref. As a
result, it's possible for the decoration code's "is this
branch the current HEAD" check to segfault when it passes
the NULL to starts_with().
This is unlikely in practice, since we can only reach this
code if we already resolved HEAD to a matching sha1 earlier.
But it's possible if HEAD racily becomes broken, or if
there's a transient filesystem error.
We can fix this by returning early in the broken case, since
NULL could not possibly match any of our branch names.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'diffcore-break.c')
0 files changed, 0 insertions, 0 deletions