[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: avoid possible overflow?
From: |
Vladimir 'φ-coder/phcoder' Serbinenko |
Subject: |
Re: avoid possible overflow? |
Date: |
Tue, 16 Feb 2010 13:46:53 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.22 (X11/20091109) |
Carles Pina i Estany wrote:
> Hello,
>
> The common pattern when doing a search by bisection is something like:
> + current = min + (max - min) / 2;
>
> Instead of the first natural idea:
> - current = (max + min) / 2;
>
> To avoid overflows.
>
> In gettext/gettext.c it's used in the "incorrect" way. It's not a big
> problem since would happen only with .mo files with lot of strings, like
> number that int represents in that architecture divided by 2 (aprox
> aprox.).
>
> See the attached file for a patch if we want to patch.
>
You forgot to make the same change before the loop. But actually it
doesn't matter because overflow in this statement:
internal_position = offsettranslation + position * 8;
is reached well before the overflow in bisecting. Anyway this
mattersonly for >4GiB files and unless we put videos in .po I don't see
how this limit would be reached. So I prefer readability and would
reject this patch.
> Else I would at least add a comment that we simplified because we
> consider that will not happen.
>
> Thanks,
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
signature.asc
Description: OpenPGP digital signature
- avoid possible overflow?, Carles Pina i Estany, 2010/02/13
- Re: avoid possible overflow?,
Vladimir 'φ-coder/phcoder' Serbinenko <=