[U-Boot] [PATCH] dfu: ram: fix number base of RAM entity parameters

Stephen Warren swarren at wwwdotorg.org
Fri Apr 22 21:34:16 CEST 2016


From: Stephen Warren <swarren at nvidia.com>

U-Boot typically interprets unprefixed numbers as base 16, and DFU RAM
entity parsing has historically done so. Reverse the change to default
to base 10, so that values in previously working command-lines aren't
mis-parsed, causing RAM corruption, crashes, hangs, etc.

Fixes: 6aeb877afef0 ("drivers: dfu: ram: fix a crash with dfu ram with invalid dfu_alt_info env")

Cc: Mugunthan V N <mugunthanvnm at ti.com>
Cc: Tom Rini <trini at konsulko.com>
Signed-off-by: Stephen Warren <swarren at nvidia.com>
---
 drivers/dfu/dfu_ram.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dfu/dfu_ram.c b/drivers/dfu/dfu_ram.c
index 1391a0d52b6d..c1b00217c911 100644
--- a/drivers/dfu/dfu_ram.c
+++ b/drivers/dfu/dfu_ram.c
@@ -72,8 +72,8 @@ int dfu_fill_entity_ram(struct dfu_entity *dfu, char *devstr, char *s)
 	}
 
 	dfu->layout = DFU_RAM_ADDR;
-	dfu->data.ram.start = (void *)simple_strtoul(argv[1], NULL, 0);
-	dfu->data.ram.size = simple_strtoul(argv[2], NULL, 0);
+	dfu->data.ram.start = (void *)simple_strtoul(argv[1], NULL, 16);
+	dfu->data.ram.size = simple_strtoul(argv[2], NULL, 16);
 
 	dfu->write_medium = dfu_write_medium_ram;
 	dfu->get_medium_size = dfu_get_medium_size_ram;
-- 
2.8.1



More information about the U-Boot mailing list