mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-14 06:26:13 -04:00
flash_protect: check for NULL flash info
If a flash is unable to be detected, and then someone calls flash_protect on it (like the common code does in flash_init), the flash_protect logic will dereference a NULL pointer. Since flash_protect already does sanity checking on the info structs, add a NULL pointer check in there. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
parent
9ed4a9582f
commit
a4e8d9f5f9
@ -43,15 +43,18 @@ extern flash_info_t flash_info[]; /* info for FLASH chips */
|
|||||||
void
|
void
|
||||||
flash_protect (int flag, ulong from, ulong to, flash_info_t *info)
|
flash_protect (int flag, ulong from, ulong to, flash_info_t *info)
|
||||||
{
|
{
|
||||||
ulong b_end = info->start[0] + info->size - 1; /* bank end address */
|
ulong b_end;
|
||||||
short s_end = info->sector_count - 1; /* index of last sector */
|
short s_end;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Do nothing if input data is bad. */
|
/* Do nothing if input data is bad. */
|
||||||
if (info->sector_count == 0 || info->size == 0 || to < from) {
|
if (!info || info->sector_count == 0 || info->size == 0 || to < from) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s_end = info->sector_count - 1; /* index of last sector */
|
||||||
|
b_end = info->start[0] + info->size - 1; /* bank end address */
|
||||||
|
|
||||||
debug ("flash_protect %s: from 0x%08lX to 0x%08lX\n",
|
debug ("flash_protect %s: from 0x%08lX to 0x%08lX\n",
|
||||||
(flag & FLAG_PROTECT_SET) ? "ON" :
|
(flag & FLAG_PROTECT_SET) ? "ON" :
|
||||||
(flag & FLAG_PROTECT_CLEAR) ? "OFF" : "???",
|
(flag & FLAG_PROTECT_CLEAR) ? "OFF" : "???",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user