
Dear Jon Povey,
In message 1299820256-29757-1-git-send-email-jon.povey@racelogic.co.uk you wrote:
This fixes two bugs with comparison of redundant environment flags on read.
flag0 and flag1 in fw_env_open() were declared signed instead of unsigned char breaking BOOLEAN mode "== 0xFF" tests and in INCREMENTAL mode the wrong environment would be chosen where the flag values are 127 and 128 (either way round). With both flags over 128, both signs flipped and the logic worked by happy accident.
Also there was a logic bug in the INCREMENTAL test (after signedness was fixed) in the case flag0=0, flag1=255, env 1 would be incorrectly chosen.
Fix both of these.
Signed-off-by: Jon Povey jon.povey@racelogic.co.uk
After my gripe yesterday, something more constructive:
I confirmed these bugs with a little test program in C, can send that if anyone wants it.
At a glance it looks like the main u-boot env handling does not have these bugs.
tools/env/fw_env.c | 13 ++++++------- 1 files changed, 6 insertions(+), 7 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk