Skip to content

Commit

Permalink
Use git_mkstemp_mode instead of plain mkstemp to create object files
Browse files Browse the repository at this point in the history
We used to unnecessarily give the read permission to group and others,
regardless of the umask, which isn't serious because the objects are
still protected by their containing directory, but isn't necessary
either.

Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Matthieu Moy authored and Junio C Hamano committed Feb 22, 2010
1 parent 1d9740c commit 5256b00
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions sha1_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -2206,7 +2206,7 @@ int move_temp_to_file(const char *tmpfile, const char *filename)
}

out:
if (set_shared_perm(filename, (S_IFREG|0444)))
if (adjust_shared_perm(filename))
return error("unable to set permission to '%s'", filename);
return 0;
}
Expand Down Expand Up @@ -2262,7 +2262,7 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)
}
memcpy(buffer, filename, dirlen);
strcpy(buffer + dirlen, "tmp_obj_XXXXXX");
fd = mkstemp(buffer);
fd = git_mkstemp_mode(buffer, 0444);
if (fd < 0 && dirlen && errno == ENOENT) {
/* Make sure the directory exists */
memcpy(buffer, filename, dirlen);
Expand All @@ -2272,7 +2272,7 @@ static int create_tmpfile(char *buffer, size_t bufsiz, const char *filename)

/* Try again */
strcpy(buffer + dirlen - 1, "/tmp_obj_XXXXXX");
fd = mkstemp(buffer);
fd = git_mkstemp_mode(buffer, 0444);
}
return fd;
}
Expand Down
2 changes: 1 addition & 1 deletion t/t1304-default-acl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ test_expect_success 'Setup test repo' '
git commit -m "init"
'

test_expect_failure 'Objects creation does not break ACLs with restrictive umask' '
test_expect_success 'Objects creation does not break ACLs with restrictive umask' '
# SHA1 for empty blob
check_perms_and_acl .git/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391
'
Expand Down

0 comments on commit 5256b00

Please sign in to comment.