diff --git a/sys/dev/disk/nata/atapi-cd.c b/sys/dev/disk/nata/atapi-cd.c --- a/sys/dev/disk/nata/atapi-cd.c +++ b/sys/dev/disk/nata/atapi-cd.c @@ -721,6 +721,10 @@ break; case CDRIOCSETBLOCKSIZE: + if (*(int *)ap->a_data <= 0) { + error = EINVAL; + break; + } cdp->block_size = *(int *)ap->a_data; acd_set_ioparm(dev); break;