Re: [PATCH 02/13] declare overflow during base128 decoding when 1 MSB nonzero, not 7

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

 



On 4/5/07, Junio C Hamano <junkio@xxxxxxx> wrote:
"Dana How" <danahow@xxxxxxxxx> writes:
>                               ofs = c & 127;
>                               while (c & 128) {
>                                       ofs += 1;
> -                                     if (!ofs || ofs & ~(~0UL >> 7))
> +                                     if (!ofs || ofs & ~(~0UL >> 1))
>                                               die("delta base offset overflow in pack for %s",
>                                                   sha1_to_hex(entry->sha1));
>                                       c = buf[used_0++];
The line after these context does this:
        ofs = (ofs << 7) + (c & 127);
If you do not check the top 7 bits, wouldn't you miss overflow?

You are correct in all 4 cases --
this patch can be dropped from the set;
it has no overlap in any context.

Concerning SEEK_SET,
you are correct: my unistd.h #define's SEEK_SET to 0.
But if someone edits this, the arg order might remain.

I will follow your commit text suggestions.

Let me think about your comment on 08/13.

Thanks!
--
Dana L. How  danahow@xxxxxxxxx  +1 650 804 5991 cell
-
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]