Commit 3bcb80f1af107c25bf8c255f3ca88ac467f27a1a

Authored by ths
1 parent a42aa815

Fix sector size overflow, by Herbert Xu.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2237 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 1 additions and 1 deletions
hw/fdc.c
@@ -888,7 +888,7 @@ static void fdctrl_start_transfer (fdctrl_t *fdctrl, int direction) @@ -888,7 +888,7 @@ static void fdctrl_start_transfer (fdctrl_t *fdctrl, int direction)
888 fdctrl->data_len = fdctrl->fifo[8]; 888 fdctrl->data_len = fdctrl->fifo[8];
889 } else { 889 } else {
890 int tmp; 890 int tmp;
891 - fdctrl->data_len = 128 << fdctrl->fifo[5]; 891 + fdctrl->data_len = 128 << (fdctrl->fifo[5] > 7 ? 7 : fdctrl->fifo[5]);
892 tmp = (cur_drv->last_sect - ks + 1); 892 tmp = (cur_drv->last_sect - ks + 1);
893 if (fdctrl->fifo[0] & 0x80) 893 if (fdctrl->fifo[0] & 0x80)
894 tmp += cur_drv->last_sect; 894 tmp += cur_drv->last_sect;