[PATCH] tegra: fix off-by-one array boundary checking for uart_id_to_base

Axel Lin axel.lin at ingics.com
Mon Jun 3 21:43:52 EDT 2013


id is used as array subscript, so it's valid value range is 0 ... ARRAY_SIZE -1.

Signed-off-by: Axel Lin <axel.lin at ingics.com>
---
 arch/arm/mach-tegra/include/mach/lowlevel.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/mach-tegra/include/mach/lowlevel.h b/arch/arm/mach-tegra/include/mach/lowlevel.h
index b7c01c0..361b12e 100644
--- a/arch/arm/mach-tegra/include/mach/lowlevel.h
+++ b/arch/arm/mach-tegra/include/mach/lowlevel.h
@@ -136,7 +136,7 @@ static inline long tegra20_get_debuguart_base(void)
 		return 0;
 
 	id = (odmdata & T20_ODMDATA_UARTID_MASK) >> T20_ODMDATA_UARTID_SHIFT;
-	if (id > ARRAY_SIZE(uart_id_to_base))
+	if (id >= ARRAY_SIZE(uart_id_to_base))
 		return 0;
 
 	return uart_id_to_base[id];
-- 
1.8.1.2






More information about the barebox mailing list