diff mbox

[U-Boot] km/ivm: fix string len check to support 7 char board names

Message ID 1344512583-11030-1-git-send-email-holger.brunck@keymile.com
State Superseded
Headers show

Commit Message

Holger Brunck Aug. 9, 2012, 11:43 a.m. UTC
From: Valentin Longchamp <valentin.longchamp@keymile.com>

The fanless boards now have a 7-digit (XXXXX-F) board name. This
triggers a border condition when reading this string in the IVM although
this string is smaller than the currenly read string size, but only by 1
character.

This patch corrects this by changing the size check condition for string
length.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
cc: Wolfgang Denk <wd@denx.de>
---
 board/keymile/common/ivm.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Holger Brunck Aug. 14, 2012, 2:23 p.m. UTC | #1
Hi Wolfgang,

On 08/09/2012 01:43 PM, Holger Brunck wrote:
> From: Valentin Longchamp <valentin.longchamp@keymile.com>
> 
> The fanless boards now have a 7-digit (XXXXX-F) board name. This
> triggers a border condition when reading this string in the IVM although
> this string is smaller than the currenly read string size, but only by 1
> character.
> 
> This patch corrects this by changing the size check condition for string
> length.
> 
> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
> cc: Wolfgang Denk <wd@denx.de>
> ---
>  board/keymile/common/ivm.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 

could you please drop this patch? It was posted twice by accident and the other
(same) patch is running through Prafullas branch.

http://patchwork.ozlabs.org/patch/177225/

Sorry for this.

Regards
Holger Brunck
diff mbox

Patch

diff --git a/board/keymile/common/ivm.c b/board/keymile/common/ivm.c
index 9bc3c21..eaa924f 100644
--- a/board/keymile/common/ivm.c
+++ b/board/keymile/common/ivm.c
@@ -163,7 +163,7 @@  static int ivm_findinventorystring(int type,
 		if (addr == INVENTORYDATASIZE) {
 			xcode = -1;
 			printf("Error end of string not found\n");
-		} else if ((size >= (maxlen - 1)) &&
+		} else if ((size > (maxlen - 1)) &&
 			   (buf[addr] != '\r')) {
 			xcode = -1;
 			printf("string too long till next CR\n");