X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=block%2Fscsi_ioctl.c;fp=block%2Fscsi_ioctl.c;h=848ac4223e43f0d64258a54b781854fe6be58e4a;hb=e0ff8aa1acd079b70e796571917ae0449b7c465b;hp=b33eda26e2053e84f85473a13cd657cf920e3fe0;hpb=bef9ea3086d47cf98cfd0ea389953a0af0b60114;p=linux-2.6.git diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index b33eda26e..848ac4223 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c @@ -246,10 +246,10 @@ static int sg_io(struct file *file, request_queue_t *q, switch (hdr->dxfer_direction) { default: return -EINVAL; - case SG_DXFER_TO_FROM_DEV: case SG_DXFER_TO_DEV: writing = 1; break; + case SG_DXFER_TO_FROM_DEV: case SG_DXFER_FROM_DEV: break; } @@ -286,9 +286,8 @@ static int sg_io(struct file *file, request_queue_t *q, * fill in request structure */ rq->cmd_len = hdr->cmd_len; + memset(rq->cmd, 0, BLK_MAX_CDB); /* ATAPI hates garbage after CDB */ memcpy(rq->cmd, cmd, hdr->cmd_len); - if (sizeof(rq->cmd) != hdr->cmd_len) - memset(rq->cmd + hdr->cmd_len, 0, sizeof(rq->cmd) - hdr->cmd_len); memset(sense, 0, sizeof(sense)); rq->sense = sense;