[Top][All Lists]
[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
- Re: [PATCH] fix an infinite loop with a corrupted pc partition table,
Vladimir 'phcoder' Serbinenko <=