X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=receive-pack.c;h=f39703f7af9ae809b144b0f074561756717bf04a;hb=1b668341db6576d8d851473c74388031b319798a;hp=dfa7cd1d0a81eade8225e11dc0f2b97682a905c0;hpb=6da4016aea2dc5bf311fea160bd8ef96ca82b999;p=git.git diff --git a/receive-pack.c b/receive-pack.c index dfa7cd1d..f39703f7 100644 --- a/receive-pack.c +++ b/receive-pack.c @@ -70,7 +70,7 @@ static void update(const char *name, unsigned char *old_sha1, unsigned char *new if (!has_sha1_file(new_sha1)) die("unpack should have generated %s, but I can't find it!", new_hex); - newfd = open(lock_name, O_CREAT | O_EXCL | O_WRONLY, 0644); + newfd = open(lock_name, O_CREAT | O_EXCL | O_WRONLY, 0666); if (newfd < 0) die("unable to create %s (%s)", lock_name, strerror(errno)); @@ -197,9 +197,7 @@ int main(int argc, char **argv) /* chdir to the directory. If that fails, try appending ".git" */ if (chdir(dir) < 0) { - static char path[PATH_MAX]; - snprintf(path, sizeof(path), "%s.git", dir); - if (chdir(path) < 0) + if (chdir(mkpath("%s.git", dir)) < 0) die("unable to cd to %s", dir); }