diff options
Diffstat (limited to 'drivers/scsi/ch.c')
| -rw-r--r-- | drivers/scsi/ch.c | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c index cb0a399be1cc..2b864061e073 100644 --- a/drivers/scsi/ch.c +++ b/drivers/scsi/ch.c @@ -659,19 +659,23 @@ static long ch_ioctl(struct file *file,  		memset(&vparams,0,sizeof(vparams));  		if (ch->counts[CHET_V1]) {  			vparams.cvp_n1  = ch->counts[CHET_V1]; -			strncpy(vparams.cvp_label1,vendor_labels[0],16); +			strscpy(vparams.cvp_label1, vendor_labels[0], +				sizeof(vparams.cvp_label1));  		}  		if (ch->counts[CHET_V2]) {  			vparams.cvp_n2  = ch->counts[CHET_V2]; -			strncpy(vparams.cvp_label2,vendor_labels[1],16); +			strscpy(vparams.cvp_label2, vendor_labels[1], +				sizeof(vparams.cvp_label2));  		}  		if (ch->counts[CHET_V3]) {  			vparams.cvp_n3  = ch->counts[CHET_V3]; -			strncpy(vparams.cvp_label3,vendor_labels[2],16); +			strscpy(vparams.cvp_label3, vendor_labels[2], +				sizeof(vparams.cvp_label3));  		}  		if (ch->counts[CHET_V4]) {  			vparams.cvp_n4  = ch->counts[CHET_V4]; -			strncpy(vparams.cvp_label4,vendor_labels[3],16); +			strscpy(vparams.cvp_label4, vendor_labels[3], +				sizeof(vparams.cvp_label4));  		}  		if (copy_to_user(argp, &vparams, sizeof(vparams)))  			return -EFAULT;  |