summaryrefslogtreecommitdiff
path: root/disk/part.c
diff options
context:
space:
mode:
authorLei Wen <leiwen@marvell.com>2011-02-15 16:56:40 +0800
committerWolfgang Denk <wd@denx.de>2011-04-12 22:58:35 +0200
commitb16aadf411280fc426d7488ddd8a5b2038b7194d (patch)
tree230cf807873574dcd0e231488a1a64a8fc721d11 /disk/part.c
parent9eeaa8e66ce1b34ddac9ebb1f31043f473a7c176 (diff)
downloadu-boot-b16aadf411280fc426d7488ddd8a5b2038b7194d.tar.gz
u-boot-b16aadf411280fc426d7488ddd8a5b2038b7194d.tar.bz2
u-boot-b16aadf411280fc426d7488ddd8a5b2038b7194d.zip
disk/part.c: fix potential stack overflow bug
If the param pass to get_dev is not the one defined in the block_drvr, it could make uboot becomes unstable, for it would continue run after search complete the block_drvr table. Signed-off-by: Lei Wen <leiwen@marvell.com>
Diffstat (limited to 'disk/part.c')
-rw-r--r--disk/part.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/disk/part.c b/disk/part.c
index 13723f23b3..f07a17feb8 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -84,7 +84,7 @@ block_dev_desc_t *get_dev(char* ifname, int dev)
#ifdef CONFIG_NEEDS_MANUAL_RELOC
name += gd->reloc_off;
#endif
- while (name) {
+ while (drvr->name) {
name = drvr->name;
reloc_get_dev = drvr->get_dev;
#ifdef CONFIG_NEEDS_MANUAL_RELOC