refs.c: avoid git_path assignment in lock_ref_sha1_basic
commit5f8ef5b84889e7792e929a0fc773cb0060a0a611
authorJeff King <peff@peff.net>
Mon, 10 Aug 2015 09:37:12 +0000 (10 05:37 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 10 Aug 2015 22:37:13 +0000 (10 15:37 -0700)
treed70f30f0ffbc18d404511477f267ec36aa384d9b
parentd6549f3655212bd2de52df0137ceb59180424061
refs.c: avoid git_path assignment in lock_ref_sha1_basic

Assigning the result of git_path is a bad pattern, because
it's not immediately obvious how long you expect the content
to stay valid (and it may be overwritten by subsequent
calls). Let's use a function-local strbuf here instead,
which we know is safe (we just have to remember to free it
in all code paths).

As a bonus, we get rid of a confusing variable-reuse
("ref_file" is used for two distinct purposes).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c