|
@@ -427,7 +427,7 @@ static int concat_erase(struct mtd_info *mtd, struct erase_info *instr)
|
|
* to-be-erased area begins. Verify that the starting
|
|
* to-be-erased area begins. Verify that the starting
|
|
* offset is aligned to this region's erase size:
|
|
* offset is aligned to this region's erase size:
|
|
*/
|
|
*/
|
|
- if (instr->addr & (erase_regions[i].erasesize - 1))
|
|
|
|
|
|
+ if (i < 0 || instr->addr & (erase_regions[i].erasesize - 1))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -440,8 +440,8 @@ static int concat_erase(struct mtd_info *mtd, struct erase_info *instr)
|
|
/*
|
|
/*
|
|
* check if the ending offset is aligned to this region's erase size
|
|
* check if the ending offset is aligned to this region's erase size
|
|
*/
|
|
*/
|
|
- if ((instr->addr + instr->len) & (erase_regions[i].erasesize -
|
|
|
|
- 1))
|
|
|
|
|
|
+ if (i < 0 || ((instr->addr + instr->len) &
|
|
|
|
+ (erase_regions[i].erasesize - 1)))
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
}
|
|
}
|
|
|
|
|