summaryrefslogtreecommitdiff
path: root/builtin/diff-tree.c
diff options
context:
space:
mode:
authorLibravatar Jeff King <peff@peff.net>2017-10-19 13:47:30 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2017-10-21 21:29:02 +0900
commit752848df0f18a9f8eb808a5b54c862c176d86e6d (patch)
treefdfb014a8dd371de3b456d389da65e4354e402a1 /builtin/diff-tree.c
parenttest-ref-store: avoid passing NULL to printf (diff)
downloadtgif-752848df0f18a9f8eb808a5b54c862c176d86e6d.tar.xz
remote: handle broken symrefs
It's possible for resolve_ref_unsafe() to return NULL with a REF_ISSYMREF flag if a symref points to a broken ref. In this case, the read_remote_branches() function will segfault passing the name to xstrdup(). This is hard to trigger in practice, since this function is used as a callback to for_each_ref(), which will skip broken refs in the first place (so it would have to be broken racily, or for us to see a transient filesystem error). If we see such a racy broken outcome let's treat it as "not a symref". This is exactly the same thing that would happen in the non-racy case (our function would not be called at all, as for_each_ref would skip the broken symref). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/diff-tree.c')
0 files changed, 0 insertions, 0 deletions