From: Alan Cox Date: Sun, 25 Jan 2015 17:52:25 +0000 (+0000) Subject: z80pack: add raw I/O offset check X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=4c0c403317913e6fb8b5cfd309dd51d3162dbfe8;p=FUZIX.git z80pack: add raw I/O offset check --- diff --git a/Kernel/dev/z80pack/devfd.c b/Kernel/dev/z80pack/devfd.c index 3a9fae23..05f59291 100644 --- a/Kernel/dev/z80pack/devfd.c +++ b/Kernel/dev/z80pack/devfd.c @@ -79,6 +79,10 @@ static int fd_transfer(bool is_read, uint8_t minor, uint8_t rawflag) if(rawflag == 1) { dlen = udata.u_count; dptr = (uint16_t)udata.u_base; + if ((dlen|udata.u_offset) & 0x7F) { + udata.u_error = EIO; + return -1; + } block = udata.u_offset >> BLKSHIFT; block_xfer = dlen >> 7; /* We want this in 128 byte sectors */ map = 1;