Fix sector size overflow, by Herbert Xu.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2237 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
a42aa81571
commit
3bcb80f1af
2
hw/fdc.c
2
hw/fdc.c
@ -888,7 +888,7 @@ static void fdctrl_start_transfer (fdctrl_t *fdctrl, int direction)
|
|||||||
fdctrl->data_len = fdctrl->fifo[8];
|
fdctrl->data_len = fdctrl->fifo[8];
|
||||||
} else {
|
} else {
|
||||||
int tmp;
|
int tmp;
|
||||||
fdctrl->data_len = 128 << fdctrl->fifo[5];
|
fdctrl->data_len = 128 << (fdctrl->fifo[5] > 7 ? 7 : fdctrl->fifo[5]);
|
||||||
tmp = (cur_drv->last_sect - ks + 1);
|
tmp = (cur_drv->last_sect - ks + 1);
|
||||||
if (fdctrl->fifo[0] & 0x80)
|
if (fdctrl->fifo[0] & 0x80)
|
||||||
tmp += cur_drv->last_sect;
|
tmp += cur_drv->last_sect;
|
||||||
|
Loading…
Reference in New Issue
Block a user