probe_utf8_pathname_composition: use internal strbuf
commitfdf729661a777d8bd598f40055d92b2df5601332
authorJeff King <peff@peff.net>
Mon, 5 Oct 2015 03:45:26 +0000 (4 23:45 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 5 Oct 2015 18:06:49 +0000 (5 11:06 -0700)
treef550af4a1bab89529aa73accc8e08a6a43b2f3a3
parente2b021eb5b5ce2f4be3c10f1f8063981b1a53053
probe_utf8_pathname_composition: use internal strbuf

When we are initializing a .git directory, we may call
probe_utf8_pathname_composition to detect utf8 mangling. We
pass in a path buffer for it to use, and it blindly
strcpy()s into it, not knowing whether the buffer is large
enough to hold the result or not.

In practice this isn't a big deal, because the buffer we
pass in already contains "$GIT_DIR/config", and we append
only a few extra bytes to it. But we can easily do the right
thing just by calling git_path_buf ourselves. Technically
this results in a different pathname (before we appended our
utf8 characters to the "config" path, and now they get their
own files in $GIT_DIR), but that should not matter for our
purposes.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/init-db.c
compat/precompose_utf8.c
compat/precompose_utf8.h
git-compat-util.h