grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] fix an infinite loop with a corrupted pc partition table


From: Vladimir 'phcoder' Serbinenko
Subject: Re: [PATCH] fix an infinite loop with a corrupted pc partition table
Date: Sun, 23 Aug 2009 17:40:42 +0200

On Tue, Jul 28, 2009 at 7:55 PM, Robert Millan<address@hidden> wrote:
> On Sun, Jul 26, 2009 at 12:58:59AM +0200, Vladimir 'phcoder' Serbinenko wrote:
>> +      /* This is our loop-detection algorithm. It works the following way:
>> +      It saves last position which was a power of two. Then it compares the
>> +      saved value with a current one. This way it's guaranteed that the loop
>> +      will be broken by at most third walk.
>> +       */
>> +      if (lastaddr == p.offset)
>> +     return grub_error (GRUB_ERR_BAD_PART_TABLE, "loop detected");
>> +
>> +      labeln++;
>> +      if (labeln == (lastlabeln << 1))
>> +     {
>> +       lastaddr = p.offset;
>> +       lastlabeln <<= 1;
>> +     }
>
> I would prefer something simpler, but if that's not possible, this is better
> than hardcoding a number IMO.
>
> Unless Pavel has any objection, I think it's ok.
Any problems with this one?
>
> --
> Robert Millan
>
>  The DRM opt-in fallacy: "Your data belongs to us. We will decide when (and
>  how) you may access your data; but nobody's threatening your freedom: we
>  still allow you to remove your data and not access it at all."
>
>
> _______________________________________________
> Grub-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/grub-devel
>



-- 
Regards
Vladimir 'phcoder' Serbinenko

Personal git repository: http://repo.or.cz/w/grub2/phcoder.git




reply via email to

[Prev in Thread] Current Thread [Next in Thread]