提交 3bfaf018 编写于 作者: J Junio C Hamano

create_tempfile: make sure that leading directories can be accessible by peers

In a shared repository, we should make sure adjust_shared_perm() is called
after creating the initial fan-out directories under objects/ directory.

Earlier an logico called the function only when mkdir() failed; we should
do so when mkdir() succeeded.
Signed-off-by: NJunio C Hamano <gitster@pobox.com>
上级 1421c5f2
......@@ -116,7 +116,7 @@ int safe_create_leading_directories(char *path)
return 0;
}
char * sha1_to_hex(const unsigned char *sha1)
char *sha1_to_hex(const unsigned char *sha1)
{
static int bufno;
static char hexbuffer[4][50];
......@@ -2125,7 +2125,7 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
if (fd < 0 && dirlen) {
/* Make sure the directory exists */
buffer[dirlen-1] = 0;
if (mkdir(buffer, 0777) && adjust_shared_perm(buffer))
if (mkdir(buffer, 0777) || adjust_shared_perm(buffer))
return -1;
/* Try again */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册