Re: [PATCH] Fix is_gitfile() for files larger than PATH_MAX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 11, 2011 at 4:25 PM, Junio C Hamano <gitster@xxxxxxxxx> wrote:
>> @@ -868,8 +868,8 @@ static int is_gitfile(const char *url)
>>               return 0;
>>       if (!S_ISREG(st.st_mode))
>>               return 0;
>> -     if (st.st_size < 10 || st.st_size > PATH_MAX)
>> -             return 1;
>> +     if (st.st_size < 10 || st.st_size > 9 + PATH_MAX)
>> +             return 0;
>
> We are asked if the file is likely to be a single-liner "gitfile: <path>",
> and were answering yes when it is a very short file (less than 10 bytes)
> that cannot possibly even contain "gitfile: " prefix.
>
> I suspect that we can and should get rid of the "cannot be very long"
> check altogether---we do open and check the file, and after all it is not
> like we are throwing different strings as "url" argument to this function
> at random and this function needs heuristics to reject bogus input
> early. The argument is an input from the user.
>
> Quite an embarrasing bug. Thanks for spotting.

Yes, and it's _my_ embarrassing bug.  I've caught this and have it in
a re-roll, but I got mired up and haven't submitted it again.  I'll
try to do so today.

Phil
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]