diff options
| author | Tim Kientzle <[email protected]> | 2012-03-27 11:43:25 +0200 |
|---|---|---|
| committer | Anatolij Gustschin <[email protected]> | 2012-03-27 11:46:33 +0200 |
| commit | 7e71dc68846647f387a74d50924da1218e197089 (patch) | |
| tree | 691fe56de56eaaf3a659ee46fa123e8e7089efb9 /disk | |
| parent | d8d265999b65afe289f7d8d8860ed492b1ff77d4 (diff) | |
disk/part.c: Fix device enumeration through API
The patch below fixes device enumeration through the U-Boot API.
Device enumeration crashes when the system in question doesn't
have any RAM mapped to address zero (I discovered this on a
BeagleBone board), since the enumeration calls get_dev with a
NULL ifname sometimes which then gets passed down to strncmp().
This fix simply ensures that get_dev returns NULL when invoked
with a NULL ifname.
Signed-off-by: Tim Kientzle <[email protected]>
Signed-off-by: Anatolij Gustschin <[email protected]>
Diffstat (limited to 'disk')
| -rw-r--r-- | disk/part.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/disk/part.c b/disk/part.c index f07a17feb8a..8ca5d4bdfc7 100644 --- a/disk/part.c +++ b/disk/part.c @@ -80,6 +80,9 @@ block_dev_desc_t *get_dev(char* ifname, int dev) block_dev_desc_t* (*reloc_get_dev)(int dev); char *name; + if (!ifname) + return NULL; + name = drvr->name; #ifdef CONFIG_NEEDS_MANUAL_RELOC name += gd->reloc_off; |
