[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: |
Fri, 28 Aug 2009 19:30:26 +0200 |
Ping?
On Sun, Aug 23, 2009 at 5:40 PM, Vladimir 'phcoder'
Serbinenko<address@hidden> wrote:
> 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
>
--
Regards
Vladimir 'phcoder' Serbinenko
Personal git repository: http://repo.or.cz/w/grub2/phcoder.git