summaryrefslogtreecommitdiffstats
path: root/config.c
diff options
context:
space:
mode:
authorKarsten Blees <karsten.blees@gmail.com>2015-06-30 16:34:13 +0200
committerJunio C Hamano <gitster@pobox.com>2015-06-30 20:01:59 +0200
commit7a64592cf8cc559d6043500b8e77d1fed07c5ec2 (patch)
treedb81b38ed7048d6df69aed9948284e7c86b9f294 /config.c
parentMerge branch 'jk/stash-require-clean-index' into maint (diff)
downloadgit-7a64592cf8cc559d6043500b8e77d1fed07c5ec2.tar.xz
git-7a64592cf8cc559d6043500b8e77d1fed07c5ec2.zip
config.c: fix writing config files on Windows network shares
Renaming to an existing file doesn't work on Windows network shares if the target file is open. munmap() the old config file before commit_lock_file. Signed-off-by: Karsten Blees <blees@dcon.de> Acked-by: Jeff King <peff@peff.net> Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '')
-rw-r--r--config.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/config.c b/config.c
index 27a73c8500..69824ebddb 100644
--- a/config.c
+++ b/config.c
@@ -2116,6 +2116,9 @@ int git_config_set_multivar_in_file(const char *config_filename,
contents_sz - copy_begin) <
contents_sz - copy_begin)
goto write_err_out;
+
+ munmap(contents, contents_sz);
+ contents = NULL;
}
if (commit_lock_file(lock) < 0) {