summaryrefslogtreecommitdiffstats
path: root/vold/mmc.c
diff options
context:
space:
mode:
Diffstat (limited to 'vold/mmc.c')
-rw-r--r--vold/mmc.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/vold/mmc.c b/vold/mmc.c
index b321c80..d90845d 100644
--- a/vold/mmc.c
+++ b/vold/mmc.c
@@ -25,6 +25,7 @@
#include "vold.h"
#include "mmc.h"
#include "media.h"
+#include "diskmbr.h" /* for NDOSPART */
#define DEBUG_BOOTSTRAP 0
@@ -157,6 +158,10 @@ static int mmc_bootstrap_card(char *sysfs_path)
sprintf(filename, "/sys%s/name", devpath);
p = read_file(filename, &sz);
+ if (!p) {
+ LOGE("Unable to read MMC name: %s", filename);
+ return -errno;
+ }
p[strlen(p) - 1] = '\0';
sprintf(tmp, "MMC_NAME=%s", p);
free(p);
@@ -233,7 +238,7 @@ static int mmc_bootstrap_mmcblk(char *devpath)
*mmcblk_devname != '/'; mmcblk_devname--);
mmcblk_devname++;
- for (part_no = 0; part_no < 4; part_no++) {
+ for (part_no = 1; part_no <= NDOSPART; part_no++) {
char part_file[255];
sprintf(part_file, "/sys%s/%sp%d", devpath, mmcblk_devname, part_no);
if (!access(part_file, F_OK)) {