Re: [PATCH] fetch-pack: fix object_id of exact sha1

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

 



Gabriel Souza Franco <gabrielfrancosouza@xxxxxxxxx> writes:

>>>       struct object_id oid;
>>>
>>> -     if (!get_oid_hex(name, &oid) && name[GIT_SHA1_HEXSZ] == ' ')
>>> -             name += GIT_SHA1_HEXSZ + 1;
>>> -     else
>>> +     if (get_oid_hex(name, &oid))
>>>               oidclr(&oid);
>>> +     else if (name[GIT_SHA1_HEXSZ] == ' ')
>>> +             name += GIT_SHA1_HEXSZ + 1;
>>
>> This makes sense to me. I wonder if we should be more particular about
>> the pure-sha1 case consuming the whole string, though. E.g., if we get:
>>
>>   1234567890123456789012345678901234567890-bananas
>>
>> that should probably not have sha1 1234...
>>
>> I don't think it should ever really happen in practice, but it might be
>> worth noticing and complaining when name[GIT_SHA1_HEXSZ] is neither
>> space nor '\0'.
>
> Right. What kind of complaining? Is doing oidclr(&oid) and letting it
> fail elsewhere enough?

I think that is the most sensible.  After all, the first get-oid-hex
expects to find a valid 40-hex object name at the beginning of line,
and oidclr() is the way for it to signal a broken input, which is
how the callers of this codepath expects errors to be caught.

Thanks.
--
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]