MTD: Fix bug in fixup_convert_atmel_pri
The memset() in fixup_convert_atmel_pri is supposed to zero out everything except the first 5 bytes in *extp, but it ends up zeroing out something way outside the struct instead. Fix this potentially dangerous code by casting the pointer to char * before doing arithmetic. Signed-off-by: Håvard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
This commit is contained in:
parent
d882687c51
commit
de591dacf3
|
@ -175,7 +175,7 @@ static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
|
|||
struct cfi_pri_atmel atmel_pri;
|
||||
|
||||
memcpy(&atmel_pri, extp, sizeof(atmel_pri));
|
||||
memset(extp + 5, 0, sizeof(*extp) - 5);
|
||||
memset((char *)extp + 5, 0, sizeof(*extp) - 5);
|
||||
|
||||
if (atmel_pri.Features & 0x02)
|
||||
extp->EraseSuspend = 2;
|
||||
|
|
Loading…
Reference in New Issue