[flashrom] [PATCH] Fix out-of-bounds access if all erase functions fail
Carl-Daniel Hailfinger
c-d.hailfinger.devel.2006 at gmx.net
Sat Jul 16 02:13:44 CEST 2011
Am 16.04.2011 13:37 schrieb Stefan Tauner:
> On Sat, 16 Apr 2011 00:13:50 +0200
> Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> wrote:
>
>
>> We don't care about the memcpy (would be a micro-optimization and
>> those are almost always a bad idea). However, we care about good
>> debug and error messages.
>>
> what does the first loop get us in respect to what you said?
>
You refactored that loop since then, so it's not a code readability
issue anymore.
> i would change the check_block_eraser method to return different values
> for "not suitable" and "not defined/no more methods" (there cant be
> holes in the eraser array, right?).
>
That would fix the bug and simplify the code at the cost of additional
lines in the log for the following case:
erase method 0 is suitable, but fails (no change)
... suitable but fails (no change)
erase method n is not suitable (my version: not printed, your version:
printed)
...not suitable (see above)
erase method m is not defined (no change)
...not defined (no change)
END OF ARRAY
A few LPC/FWH chips have a chip-erase function which is only available
in parallel programmer mode (i.e. not in a mainboard), and those would
get those additional lines.
> i would then remove the first loop and just do checking and printing in
> the main loop.
> would you accept a patch for that or is there something i have missed?
>
I'm not opposed to it per se, but I'd like to know how you plan to
address the additional lines printed in that approach.
Regards,
Carl-Daniel
--
http://www.hailfinger.org/
More information about the flashrom
mailing list