From: Junio C Hamano Date: Sun, 29 Mar 2009 20:31:32 GMT Subject: Re: [PATCH 2/2] Resolve double chmod() in move_temp_to_file() Message-ID: <7vfxgwqdej.fsf@gitster.siamese.dyndns.org> In-Reply-To: <200903281201.35409.johan@herland.net> Johan Herland writes: > On Saturday 28 March 2009, Junio C Hamano wrote: >> Johan Herland writes: >> > - if (chmod(filename, 0444) || adjust_shared_perm(filename)) >> > + if (chmod(filename, get_shared_perm(0444))) >> >> Your get_shared_perm() will end up feeding 0444 to S_ISDIR(), which would >> most likely say "no" and cause real harm, but there is no guarantee that >> we won't start checking S_ISREG() or other things in get_shared_perm() >> later. I do not like this. ... should have been s/and cause/and cause no/; I think you read it correctly, though... > ... >> diff --git a/sha1_file.c b/sha1_file.c >> index 8869488..5bfc36c 100644 >> --- a/sha1_file.c >> +++ b/sha1_file.c >> @@ -2263,7 +2263,7 @@ int move_temp_to_file(const char *tmpfile, const >> char *filename) * >> * The same holds for FAT formatted media. >> * >> - * When this succeeds, we just return 0. We have nothing >> + * When this succeeds, we just return; we have nothing > > Small nit: This belongs in the previous patch, doesn't it? Thanks for all the above fixes.