diff options
author | Karsten Blees <karsten.blees@gmail.com> | 2015-06-30 16:34:13 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-06-30 11:01:59 -0700 |
commit | 7a64592cf8cc559d6043500b8e77d1fed07c5ec2 (patch) | |
tree | db81b38ed7048d6df69aed9948284e7c86b9f294 /config.c | |
parent | 351d06df519ee405a1926e0c6ee34d6a1dba6b46 (diff) | |
download | git-7a64592cf8cc559d6043500b8e77d1fed07c5ec2.tar.gz |
config.c: fix writing config files on Windows network shareskb/config-unmap-before-renaming
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 'config.c')
-rw-r--r-- | config.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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) { |