summaryrefslogtreecommitdiff
path: root/streaming.h
diff options
context:
space:
mode:
authorLibravatar Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>2020-03-06 19:03:13 +0000
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-03-06 14:45:51 -0800
commit0915a5b4cdf00a8c6c755b77b854725a183993b4 (patch)
tree9614e0bd72e228432eeb16a1c7219deb0061e3ed /streaming.h
parentGit 2.26-rc0 (diff)
downloadtgif-0915a5b4cdf00a8c6c755b77b854725a183993b4.tar.xz
set_git_dir: fix crash when used with real_path()
`real_path()` returns result from a shared buffer, inviting subtle reentrance bugs. One of these bugs occur when invoked this way: set_git_dir(real_path(git_dir)) In this case, `real_path()` has reentrance: real_path read_gitfile_gently repo_set_gitdir setup_git_env set_git_dir_1 set_git_dir Later, `set_git_dir()` uses its now-dead parameter: !is_absolute_path(path) Fix this by using a dedicated `strbuf` to hold `strbuf_realpath()`. Signed-off-by: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'streaming.h')
0 files changed, 0 insertions, 0 deletions