diff options
author | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2018-09-10 16:20:42 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2018-09-11 13:32:17 -0400 |
commit | cc1e6315e83db0e517dd9279050b88adc83a7eba (patch) | |
tree | 2fab5c7b2a4f3f50a045357a41c419fccc975de2 | |
parent | c0decac19da3906d9b66291e57b7759489e1170f (diff) |
media: replace strcpy() by strscpy()
The strcpy() function is being deprecated upstream. Replace
it by the safer strscpy().
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
83 files changed, 225 insertions, 199 deletions
diff --git a/drivers/media/common/saa7146/saa7146_video.c b/drivers/media/common/saa7146/saa7146_video.c index 2a5c4b113f89..f90aa8109663 100644 --- a/drivers/media/common/saa7146/saa7146_video.c +++ b/drivers/media/common/saa7146/saa7146_video.c | |||
@@ -451,7 +451,7 @@ static int vidioc_querycap(struct file *file, void *fh, struct v4l2_capability * | |||
451 | struct video_device *vdev = video_devdata(file); | 451 | struct video_device *vdev = video_devdata(file); |
452 | struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev; | 452 | struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev; |
453 | 453 | ||
454 | strcpy((char *)cap->driver, "saa7146 v4l2"); | 454 | strscpy((char *)cap->driver, "saa7146 v4l2", sizeof(cap->driver)); |
455 | strscpy((char *)cap->card, dev->ext->name, sizeof(cap->card)); | 455 | strscpy((char *)cap->card, dev->ext->name, sizeof(cap->card)); |
456 | sprintf((char *)cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 456 | sprintf((char *)cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
457 | cap->device_caps = | 457 | cap->device_caps = |
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c index c4e7ebfe4d29..961207cf09eb 100644 --- a/drivers/media/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb-core/dvb_frontend.c | |||
@@ -2422,7 +2422,7 @@ static int dvb_frontend_handle_ioctl(struct file *file, | |||
2422 | struct dvb_frontend_info *info = parg; | 2422 | struct dvb_frontend_info *info = parg; |
2423 | memset(info, 0, sizeof(*info)); | 2423 | memset(info, 0, sizeof(*info)); |
2424 | 2424 | ||
2425 | strcpy(info->name, fe->ops.info.name); | 2425 | strscpy(info->name, fe->ops.info.name, sizeof(info->name)); |
2426 | info->symbol_rate_min = fe->ops.info.symbol_rate_min; | 2426 | info->symbol_rate_min = fe->ops.info.symbol_rate_min; |
2427 | info->symbol_rate_max = fe->ops.info.symbol_rate_max; | 2427 | info->symbol_rate_max = fe->ops.info.symbol_rate_max; |
2428 | info->symbol_rate_tolerance = fe->ops.info.symbol_rate_tolerance; | 2428 | info->symbol_rate_tolerance = fe->ops.info.symbol_rate_tolerance; |
diff --git a/drivers/media/dvb-frontends/mt312.c b/drivers/media/dvb-frontends/mt312.c index aad07adda37d..03e74a729168 100644 --- a/drivers/media/dvb-frontends/mt312.c +++ b/drivers/media/dvb-frontends/mt312.c | |||
@@ -815,17 +815,20 @@ struct dvb_frontend *mt312_attach(const struct mt312_config *config, | |||
815 | 815 | ||
816 | switch (state->id) { | 816 | switch (state->id) { |
817 | case ID_VP310: | 817 | case ID_VP310: |
818 | strcpy(state->frontend.ops.info.name, "Zarlink VP310 DVB-S"); | 818 | strscpy(state->frontend.ops.info.name, "Zarlink VP310 DVB-S", |
819 | sizeof(state->frontend.ops.info.name)); | ||
819 | state->xtal = MT312_PLL_CLK; | 820 | state->xtal = MT312_PLL_CLK; |
820 | state->freq_mult = 9; | 821 | state->freq_mult = 9; |
821 | break; | 822 | break; |
822 | case ID_MT312: | 823 | case ID_MT312: |
823 | strcpy(state->frontend.ops.info.name, "Zarlink MT312 DVB-S"); | 824 | strscpy(state->frontend.ops.info.name, "Zarlink MT312 DVB-S", |
825 | sizeof(state->frontend.ops.info.name)); | ||
824 | state->xtal = MT312_PLL_CLK; | 826 | state->xtal = MT312_PLL_CLK; |
825 | state->freq_mult = 6; | 827 | state->freq_mult = 6; |
826 | break; | 828 | break; |
827 | case ID_ZL10313: | 829 | case ID_ZL10313: |
828 | strcpy(state->frontend.ops.info.name, "Zarlink ZL10313 DVB-S"); | 830 | strscpy(state->frontend.ops.info.name, "Zarlink ZL10313 DVB-S", |
831 | sizeof(state->frontend.ops.info.name)); | ||
829 | state->xtal = MT312_PLL_CLK_10_111; | 832 | state->xtal = MT312_PLL_CLK_10_111; |
830 | state->freq_mult = 9; | 833 | state->freq_mult = 9; |
831 | break; | 834 | break; |
diff --git a/drivers/media/dvb-frontends/zl10039.c b/drivers/media/dvb-frontends/zl10039.c index 6293bd920fa6..333e4a1da13b 100644 --- a/drivers/media/dvb-frontends/zl10039.c +++ b/drivers/media/dvb-frontends/zl10039.c | |||
@@ -288,8 +288,9 @@ struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe, | |||
288 | state->id = state->id & 0x0f; | 288 | state->id = state->id & 0x0f; |
289 | switch (state->id) { | 289 | switch (state->id) { |
290 | case ID_ZL10039: | 290 | case ID_ZL10039: |
291 | strcpy(fe->ops.tuner_ops.info.name, | 291 | strscpy(fe->ops.tuner_ops.info.name, |
292 | "Zarlink ZL10039 DVB-S tuner"); | 292 | "Zarlink ZL10039 DVB-S tuner", |
293 | sizeof(fe->ops.tuner_ops.info.name)); | ||
293 | break; | 294 | break; |
294 | default: | 295 | default: |
295 | dprintk("Chip ID=%x does not match a known type\n", state->id); | 296 | dprintk("Chip ID=%x does not match a known type\n", state->id); |
diff --git a/drivers/media/firewire/firedtv-fe.c b/drivers/media/firewire/firedtv-fe.c index 69087ae6c1d0..683957885ac4 100644 --- a/drivers/media/firewire/firedtv-fe.c +++ b/drivers/media/firewire/firedtv-fe.c | |||
@@ -247,7 +247,7 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name) | |||
247 | dev_err(fdtv->device, "no frontend for model type %d\n", | 247 | dev_err(fdtv->device, "no frontend for model type %d\n", |
248 | fdtv->type); | 248 | fdtv->type); |
249 | } | 249 | } |
250 | strcpy(fi->name, name); | 250 | strscpy(fi->name, name, sizeof(fi->name)); |
251 | 251 | ||
252 | fdtv->fe.dvb = &fdtv->adapter; | 252 | fdtv->fe.dvb = &fdtv->adapter; |
253 | fdtv->fe.sec_priv = fdtv; | 253 | fdtv->fe.sec_priv = fdtv; |
diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c index 034ebf754007..907323f0ca3b 100644 --- a/drivers/media/i2c/ad5820.c +++ b/drivers/media/i2c/ad5820.c | |||
@@ -317,7 +317,7 @@ static int ad5820_probe(struct i2c_client *client, | |||
317 | v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops); | 317 | v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops); |
318 | coil->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; | 318 | coil->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; |
319 | coil->subdev.internal_ops = &ad5820_internal_ops; | 319 | coil->subdev.internal_ops = &ad5820_internal_ops; |
320 | strcpy(coil->subdev.name, "ad5820 focus"); | 320 | strscpy(coil->subdev.name, "ad5820 focus", sizeof(coil->subdev.name)); |
321 | 321 | ||
322 | ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL); | 322 | ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL); |
323 | if (ret < 0) | 323 | if (ret < 0) |
diff --git a/drivers/media/i2c/lm3560.c b/drivers/media/i2c/lm3560.c index 49c6644cbba7..f122f03bd6b7 100644 --- a/drivers/media/i2c/lm3560.c +++ b/drivers/media/i2c/lm3560.c | |||
@@ -362,7 +362,8 @@ static int lm3560_subdev_init(struct lm3560_flash *flash, | |||
362 | 362 | ||
363 | v4l2_i2c_subdev_init(&flash->subdev_led[led_no], client, &lm3560_ops); | 363 | v4l2_i2c_subdev_init(&flash->subdev_led[led_no], client, &lm3560_ops); |
364 | flash->subdev_led[led_no].flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; | 364 | flash->subdev_led[led_no].flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; |
365 | strcpy(flash->subdev_led[led_no].name, led_name); | 365 | strscpy(flash->subdev_led[led_no].name, led_name, |
366 | sizeof(flash->subdev_led[led_no].name)); | ||
366 | rval = lm3560_init_controls(flash, led_no); | 367 | rval = lm3560_init_controls(flash, led_no); |
367 | if (rval) | 368 | if (rval) |
368 | goto err_out; | 369 | goto err_out; |
diff --git a/drivers/media/i2c/lm3646.c b/drivers/media/i2c/lm3646.c index 7e9967af36ec..12ef2653987b 100644 --- a/drivers/media/i2c/lm3646.c +++ b/drivers/media/i2c/lm3646.c | |||
@@ -278,7 +278,8 @@ static int lm3646_subdev_init(struct lm3646_flash *flash) | |||
278 | 278 | ||
279 | v4l2_i2c_subdev_init(&flash->subdev_led, client, &lm3646_ops); | 279 | v4l2_i2c_subdev_init(&flash->subdev_led, client, &lm3646_ops); |
280 | flash->subdev_led.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; | 280 | flash->subdev_led.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; |
281 | strcpy(flash->subdev_led.name, LM3646_NAME); | 281 | strscpy(flash->subdev_led.name, LM3646_NAME, |
282 | sizeof(flash->subdev_led.name)); | ||
282 | rval = lm3646_init_controls(flash); | 283 | rval = lm3646_init_controls(flash); |
283 | if (rval) | 284 | if (rval) |
284 | goto err_out; | 285 | goto err_out; |
diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index 9ca9b3997073..21ca5186f9ed 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c | |||
@@ -1698,7 +1698,7 @@ static int s5c73m3_probe(struct i2c_client *client, | |||
1698 | return ret; | 1698 | return ret; |
1699 | 1699 | ||
1700 | v4l2_i2c_subdev_init(oif_sd, client, &oif_subdev_ops); | 1700 | v4l2_i2c_subdev_init(oif_sd, client, &oif_subdev_ops); |
1701 | strcpy(oif_sd->name, "S5C73M3-OIF"); | 1701 | strscpy(oif_sd->name, "S5C73M3-OIF", sizeof(oif_sd->name)); |
1702 | 1702 | ||
1703 | oif_sd->internal_ops = &oif_internal_ops; | 1703 | oif_sd->internal_ops = &oif_internal_ops; |
1704 | oif_sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; | 1704 | oif_sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; |
diff --git a/drivers/media/i2c/sr030pc30.c b/drivers/media/i2c/sr030pc30.c index 2a4882cddc51..344666293f7d 100644 --- a/drivers/media/i2c/sr030pc30.c +++ b/drivers/media/i2c/sr030pc30.c | |||
@@ -703,7 +703,7 @@ static int sr030pc30_probe(struct i2c_client *client, | |||
703 | return -ENOMEM; | 703 | return -ENOMEM; |
704 | 704 | ||
705 | sd = &info->sd; | 705 | sd = &info->sd; |
706 | strcpy(sd->name, MODULE_NAME); | 706 | strscpy(sd->name, MODULE_NAME, sizeof(sd->name)); |
707 | info->pdata = client->dev.platform_data; | 707 | info->pdata = client->dev.platform_data; |
708 | 708 | ||
709 | v4l2_i2c_subdev_init(sd, client, &sr030pc30_ops); | 709 | v4l2_i2c_subdev_init(sd, client, &sr030pc30_ops); |
diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c index 95045448a112..413bf287547c 100644 --- a/drivers/media/pci/bt8xx/bttv-driver.c +++ b/drivers/media/pci/bt8xx/bttv-driver.c | |||
@@ -2782,7 +2782,7 @@ static int bttv_g_tuner(struct file *file, void *priv, | |||
2782 | t->rxsubchans = V4L2_TUNER_SUB_MONO; | 2782 | t->rxsubchans = V4L2_TUNER_SUB_MONO; |
2783 | t->capability = V4L2_TUNER_CAP_NORM; | 2783 | t->capability = V4L2_TUNER_CAP_NORM; |
2784 | bttv_call_all(btv, tuner, g_tuner, t); | 2784 | bttv_call_all(btv, tuner, g_tuner, t); |
2785 | strcpy(t->name, "Television"); | 2785 | strscpy(t->name, "Television", sizeof(t->name)); |
2786 | t->type = V4L2_TUNER_ANALOG_TV; | 2786 | t->type = V4L2_TUNER_ANALOG_TV; |
2787 | if (btread(BT848_DSTATUS)&BT848_DSTATUS_HLOC) | 2787 | if (btread(BT848_DSTATUS)&BT848_DSTATUS_HLOC) |
2788 | t->signal = 0xffff; | 2788 | t->signal = 0xffff; |
@@ -3257,7 +3257,7 @@ static int radio_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) | |||
3257 | 3257 | ||
3258 | if (0 != t->index) | 3258 | if (0 != t->index) |
3259 | return -EINVAL; | 3259 | return -EINVAL; |
3260 | strcpy(t->name, "Radio"); | 3260 | strscpy(t->name, "Radio", sizeof(t->name)); |
3261 | t->type = V4L2_TUNER_RADIO; | 3261 | t->type = V4L2_TUNER_RADIO; |
3262 | radio_enable(btv); | 3262 | radio_enable(btv); |
3263 | 3263 | ||
diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx23885/cx23885-417.c index 8579de5bb61b..3083434bb636 100644 --- a/drivers/media/pci/cx23885/cx23885-417.c +++ b/drivers/media/pci/cx23885/cx23885-417.c | |||
@@ -1280,7 +1280,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
1280 | return -EINVAL; | 1280 | return -EINVAL; |
1281 | if (0 != t->index) | 1281 | if (0 != t->index) |
1282 | return -EINVAL; | 1282 | return -EINVAL; |
1283 | strcpy(t->name, "Television"); | 1283 | strscpy(t->name, "Television", sizeof(t->name)); |
1284 | call_all(dev, tuner, g_tuner, t); | 1284 | call_all(dev, tuner, g_tuner, t); |
1285 | 1285 | ||
1286 | dprintk(1, "VIDIOC_G_TUNER: tuner type %d\n", t->type); | 1286 | dprintk(1, "VIDIOC_G_TUNER: tuner type %d\n", t->type); |
diff --git a/drivers/media/pci/cx23885/cx23885-alsa.c b/drivers/media/pci/cx23885/cx23885-alsa.c index db1e8ff35474..ee9d329c4038 100644 --- a/drivers/media/pci/cx23885/cx23885-alsa.c +++ b/drivers/media/pci/cx23885/cx23885-alsa.c | |||
@@ -526,7 +526,7 @@ static int snd_cx23885_pcm(struct cx23885_audio_dev *chip, int device, | |||
526 | if (err < 0) | 526 | if (err < 0) |
527 | return err; | 527 | return err; |
528 | pcm->private_data = chip; | 528 | pcm->private_data = chip; |
529 | strcpy(pcm->name, name); | 529 | strscpy(pcm->name, name, sizeof(pcm->name)); |
530 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx23885_pcm_ops); | 530 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx23885_pcm_ops); |
531 | 531 | ||
532 | return 0; | 532 | return 0; |
@@ -571,7 +571,7 @@ struct cx23885_audio_dev *cx23885_audio_register(struct cx23885_dev *dev) | |||
571 | if (err < 0) | 571 | if (err < 0) |
572 | goto error; | 572 | goto error; |
573 | 573 | ||
574 | strcpy(card->driver, "CX23885"); | 574 | strscpy(card->driver, "CX23885", sizeof(card->driver)); |
575 | sprintf(card->shortname, "Conexant CX23885"); | 575 | sprintf(card->shortname, "Conexant CX23885"); |
576 | sprintf(card->longname, "%s at %s", card->shortname, dev->name); | 576 | sprintf(card->longname, "%s at %s", card->shortname, dev->name); |
577 | 577 | ||
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c index b5ac7a6a9a62..92d32a733f1b 100644 --- a/drivers/media/pci/cx23885/cx23885-video.c +++ b/drivers/media/pci/cx23885/cx23885-video.c | |||
@@ -639,7 +639,7 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
639 | struct cx23885_dev *dev = video_drvdata(file); | 639 | struct cx23885_dev *dev = video_drvdata(file); |
640 | struct video_device *vdev = video_devdata(file); | 640 | struct video_device *vdev = video_devdata(file); |
641 | 641 | ||
642 | strcpy(cap->driver, "cx23885"); | 642 | strscpy(cap->driver, "cx23885", sizeof(cap->driver)); |
643 | strscpy(cap->card, cx23885_boards[dev->board].name, | 643 | strscpy(cap->card, cx23885_boards[dev->board].name, |
644 | sizeof(cap->card)); | 644 | sizeof(cap->card)); |
645 | sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); | 645 | sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); |
@@ -731,7 +731,7 @@ int cx23885_enum_input(struct cx23885_dev *dev, struct v4l2_input *i) | |||
731 | 731 | ||
732 | i->index = n; | 732 | i->index = n; |
733 | i->type = V4L2_INPUT_TYPE_CAMERA; | 733 | i->type = V4L2_INPUT_TYPE_CAMERA; |
734 | strcpy(i->name, iname[INPUT(n)->type]); | 734 | strscpy(i->name, iname[INPUT(n)->type], sizeof(i->name)); |
735 | i->std = CX23885_NORMS; | 735 | i->std = CX23885_NORMS; |
736 | if ((CX23885_VMUX_TELEVISION == INPUT(n)->type) || | 736 | if ((CX23885_VMUX_TELEVISION == INPUT(n)->type) || |
737 | (CX23885_VMUX_CABLE == INPUT(n)->type)) { | 737 | (CX23885_VMUX_CABLE == INPUT(n)->type)) { |
@@ -828,7 +828,7 @@ static int cx23885_query_audinput(struct file *file, void *priv, | |||
828 | 828 | ||
829 | memset(i, 0, sizeof(*i)); | 829 | memset(i, 0, sizeof(*i)); |
830 | i->index = n; | 830 | i->index = n; |
831 | strcpy(i->name, iname[n]); | 831 | strscpy(i->name, iname[n], sizeof(i->name)); |
832 | i->capability = V4L2_AUDCAP_STEREO; | 832 | i->capability = V4L2_AUDCAP_STEREO; |
833 | return 0; | 833 | return 0; |
834 | 834 | ||
@@ -887,7 +887,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
887 | if (0 != t->index) | 887 | if (0 != t->index) |
888 | return -EINVAL; | 888 | return -EINVAL; |
889 | 889 | ||
890 | strcpy(t->name, "Television"); | 890 | strscpy(t->name, "Television", sizeof(t->name)); |
891 | 891 | ||
892 | call_all(dev, tuner, g_tuner, t); | 892 | call_all(dev, tuner, g_tuner, t); |
893 | return 0; | 893 | return 0; |
@@ -1186,7 +1186,8 @@ int cx23885_video_register(struct cx23885_dev *dev) | |||
1186 | 1186 | ||
1187 | /* Initialize VBI template */ | 1187 | /* Initialize VBI template */ |
1188 | cx23885_vbi_template = cx23885_video_template; | 1188 | cx23885_vbi_template = cx23885_video_template; |
1189 | strcpy(cx23885_vbi_template.name, "cx23885-vbi"); | 1189 | strscpy(cx23885_vbi_template.name, "cx23885-vbi", |
1190 | sizeof(cx23885_vbi_template.name)); | ||
1190 | 1191 | ||
1191 | dev->tvnorm = V4L2_STD_NTSC_M; | 1192 | dev->tvnorm = V4L2_STD_NTSC_M; |
1192 | dev->fmt = format_by_fourcc(V4L2_PIX_FMT_YUYV); | 1193 | dev->fmt = format_by_fourcc(V4L2_PIX_FMT_YUYV); |
diff --git a/drivers/media/pci/cx25821/cx25821-alsa.c b/drivers/media/pci/cx25821/cx25821-alsa.c index ef6380651c10..0a6c90e92557 100644 --- a/drivers/media/pci/cx25821/cx25821-alsa.c +++ b/drivers/media/pci/cx25821/cx25821-alsa.c | |||
@@ -674,7 +674,7 @@ static int snd_cx25821_pcm(struct cx25821_audio_dev *chip, int device, | |||
674 | } | 674 | } |
675 | pcm->private_data = chip; | 675 | pcm->private_data = chip; |
676 | pcm->info_flags = 0; | 676 | pcm->info_flags = 0; |
677 | strcpy(pcm->name, name); | 677 | strscpy(pcm->name, name, sizeof(pcm->name)); |
678 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx25821_pcm_ops); | 678 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx25821_pcm_ops); |
679 | 679 | ||
680 | return 0; | 680 | return 0; |
@@ -725,7 +725,7 @@ static int cx25821_audio_initdev(struct cx25821_dev *dev) | |||
725 | return err; | 725 | return err; |
726 | } | 726 | } |
727 | 727 | ||
728 | strcpy(card->driver, "cx25821"); | 728 | strscpy(card->driver, "cx25821", sizeof(card->driver)); |
729 | 729 | ||
730 | /* Card "creation" */ | 730 | /* Card "creation" */ |
731 | chip = card->private_data; | 731 | chip = card->private_data; |
@@ -754,10 +754,10 @@ static int cx25821_audio_initdev(struct cx25821_dev *dev) | |||
754 | goto error; | 754 | goto error; |
755 | } | 755 | } |
756 | 756 | ||
757 | strcpy(card->shortname, "cx25821"); | 757 | strscpy(card->shortname, "cx25821", sizeof(card->shortname)); |
758 | sprintf(card->longname, "%s at 0x%lx irq %d", chip->dev->name, | 758 | sprintf(card->longname, "%s at 0x%lx irq %d", chip->dev->name, |
759 | chip->iobase, chip->irq); | 759 | chip->iobase, chip->irq); |
760 | strcpy(card->mixername, "CX25821"); | 760 | strscpy(card->mixername, "CX25821", sizeof(card->mixername)); |
761 | 761 | ||
762 | pr_info("%s/%i: ALSA support for cx25821 boards\n", card->driver, | 762 | pr_info("%s/%i: ALSA support for cx25821 boards\n", card->driver, |
763 | devno); | 763 | devno); |
diff --git a/drivers/media/pci/cx25821/cx25821-video.c b/drivers/media/pci/cx25821/cx25821-video.c index 21607fbb6758..3d23c2e64102 100644 --- a/drivers/media/pci/cx25821/cx25821-video.c +++ b/drivers/media/pci/cx25821/cx25821-video.c | |||
@@ -441,7 +441,7 @@ static int cx25821_vidioc_querycap(struct file *file, void *priv, | |||
441 | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; | 441 | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; |
442 | const u32 cap_output = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_READWRITE; | 442 | const u32 cap_output = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_READWRITE; |
443 | 443 | ||
444 | strcpy(cap->driver, "cx25821"); | 444 | strscpy(cap->driver, "cx25821", sizeof(cap->driver)); |
445 | strscpy(cap->card, cx25821_boards[dev->board].name, sizeof(cap->card)); | 445 | strscpy(cap->card, cx25821_boards[dev->board].name, sizeof(cap->card)); |
446 | sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); | 446 | sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); |
447 | if (chan->id >= VID_CHANNEL_NUM) | 447 | if (chan->id >= VID_CHANNEL_NUM) |
@@ -486,7 +486,7 @@ static int cx25821_vidioc_enum_input(struct file *file, void *priv, | |||
486 | 486 | ||
487 | i->type = V4L2_INPUT_TYPE_CAMERA; | 487 | i->type = V4L2_INPUT_TYPE_CAMERA; |
488 | i->std = CX25821_NORMS; | 488 | i->std = CX25821_NORMS; |
489 | strcpy(i->name, "Composite"); | 489 | strscpy(i->name, "Composite", sizeof(i->name)); |
490 | return 0; | 490 | return 0; |
491 | } | 491 | } |
492 | 492 | ||
@@ -534,7 +534,7 @@ static int cx25821_vidioc_enum_output(struct file *file, void *priv, | |||
534 | 534 | ||
535 | o->type = V4L2_INPUT_TYPE_CAMERA; | 535 | o->type = V4L2_INPUT_TYPE_CAMERA; |
536 | o->std = CX25821_NORMS; | 536 | o->std = CX25821_NORMS; |
537 | strcpy(o->name, "Composite"); | 537 | strscpy(o->name, "Composite", sizeof(o->name)); |
538 | return 0; | 538 | return 0; |
539 | } | 539 | } |
540 | 540 | ||
diff --git a/drivers/media/pci/cx88/cx88-alsa.c b/drivers/media/pci/cx88/cx88-alsa.c index 89a65478ae36..b683cbe13dee 100644 --- a/drivers/media/pci/cx88/cx88-alsa.c +++ b/drivers/media/pci/cx88/cx88-alsa.c | |||
@@ -616,7 +616,7 @@ static int snd_cx88_pcm(struct cx88_audio_dev *chip, int device, | |||
616 | if (err < 0) | 616 | if (err < 0) |
617 | return err; | 617 | return err; |
618 | pcm->private_data = chip; | 618 | pcm->private_data = chip; |
619 | strcpy(pcm->name, name); | 619 | strscpy(pcm->name, name, sizeof(pcm->name)); |
620 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx88_pcm_ops); | 620 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx88_pcm_ops); |
621 | 621 | ||
622 | return 0; | 622 | return 0; |
@@ -968,12 +968,12 @@ static int cx88_audio_initdev(struct pci_dev *pci, | |||
968 | goto error; | 968 | goto error; |
969 | } | 969 | } |
970 | 970 | ||
971 | strcpy(card->driver, "CX88x"); | 971 | strscpy(card->driver, "CX88x", sizeof(card->driver)); |
972 | sprintf(card->shortname, "Conexant CX%x", pci->device); | 972 | sprintf(card->shortname, "Conexant CX%x", pci->device); |
973 | sprintf(card->longname, "%s at %#llx", | 973 | sprintf(card->longname, "%s at %#llx", |
974 | card->shortname, | 974 | card->shortname, |
975 | (unsigned long long)pci_resource_start(pci, 0)); | 975 | (unsigned long long)pci_resource_start(pci, 0)); |
976 | strcpy(card->mixername, "CX88"); | 976 | strscpy(card->mixername, "CX88", sizeof(card->mixername)); |
977 | 977 | ||
978 | dprintk(0, "%s/%i: ALSA support for cx2388x boards\n", | 978 | dprintk(0, "%s/%i: ALSA support for cx2388x boards\n", |
979 | card->driver, devno); | 979 | card->driver, devno); |
diff --git a/drivers/media/pci/cx88/cx88-blackbird.c b/drivers/media/pci/cx88/cx88-blackbird.c index cf4e926cc388..199756547f03 100644 --- a/drivers/media/pci/cx88/cx88-blackbird.c +++ b/drivers/media/pci/cx88/cx88-blackbird.c | |||
@@ -803,7 +803,7 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
803 | struct cx8802_dev *dev = video_drvdata(file); | 803 | struct cx8802_dev *dev = video_drvdata(file); |
804 | struct cx88_core *core = dev->core; | 804 | struct cx88_core *core = dev->core; |
805 | 805 | ||
806 | strcpy(cap->driver, "cx88_blackbird"); | 806 | strscpy(cap->driver, "cx88_blackbird", sizeof(cap->driver)); |
807 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 807 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
808 | return cx88_querycap(file, core, cap); | 808 | return cx88_querycap(file, core, cap); |
809 | } | 809 | } |
@@ -995,7 +995,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
995 | if (t->index != 0) | 995 | if (t->index != 0) |
996 | return -EINVAL; | 996 | return -EINVAL; |
997 | 997 | ||
998 | strcpy(t->name, "Television"); | 998 | strscpy(t->name, "Television", sizeof(t->name)); |
999 | t->capability = V4L2_TUNER_CAP_NORM; | 999 | t->capability = V4L2_TUNER_CAP_NORM; |
1000 | t->rangehigh = 0xffffffffUL; | 1000 | t->rangehigh = 0xffffffffUL; |
1001 | call_all(core, tuner, g_tuner, t); | 1001 | call_all(core, tuner, g_tuner, t); |
diff --git a/drivers/media/pci/cx88/cx88-cards.c b/drivers/media/pci/cx88/cx88-cards.c index 07e1483e987d..382af90fd4a9 100644 --- a/drivers/media/pci/cx88/cx88-cards.c +++ b/drivers/media/pci/cx88/cx88-cards.c | |||
@@ -3693,7 +3693,7 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr) | |||
3693 | core->height = 240; | 3693 | core->height = 240; |
3694 | core->field = V4L2_FIELD_INTERLACED; | 3694 | core->field = V4L2_FIELD_INTERLACED; |
3695 | 3695 | ||
3696 | strcpy(core->v4l2_dev.name, core->name); | 3696 | strscpy(core->v4l2_dev.name, core->name, sizeof(core->v4l2_dev.name)); |
3697 | if (v4l2_device_register(NULL, &core->v4l2_dev)) { | 3697 | if (v4l2_device_register(NULL, &core->v4l2_dev)) { |
3698 | kfree(core); | 3698 | kfree(core); |
3699 | return NULL; | 3699 | return NULL; |
diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/cx88-video.c index f5d0624023da..df4e7a0686e0 100644 --- a/drivers/media/pci/cx88/cx88-video.c +++ b/drivers/media/pci/cx88/cx88-video.c | |||
@@ -842,7 +842,7 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
842 | struct cx8800_dev *dev = video_drvdata(file); | 842 | struct cx8800_dev *dev = video_drvdata(file); |
843 | struct cx88_core *core = dev->core; | 843 | struct cx88_core *core = dev->core; |
844 | 844 | ||
845 | strcpy(cap->driver, "cx8800"); | 845 | strscpy(cap->driver, "cx8800", sizeof(cap->driver)); |
846 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 846 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
847 | return cx88_querycap(file, core, cap); | 847 | return cx88_querycap(file, core, cap); |
848 | } | 848 | } |
@@ -897,7 +897,7 @@ int cx88_enum_input(struct cx88_core *core, struct v4l2_input *i) | |||
897 | if (!INPUT(n).type) | 897 | if (!INPUT(n).type) |
898 | return -EINVAL; | 898 | return -EINVAL; |
899 | i->type = V4L2_INPUT_TYPE_CAMERA; | 899 | i->type = V4L2_INPUT_TYPE_CAMERA; |
900 | strcpy(i->name, iname[INPUT(n).type]); | 900 | strscpy(i->name, iname[INPUT(n).type], sizeof(i->name)); |
901 | if ((INPUT(n).type == CX88_VMUX_TELEVISION) || | 901 | if ((INPUT(n).type == CX88_VMUX_TELEVISION) || |
902 | (INPUT(n).type == CX88_VMUX_CABLE)) | 902 | (INPUT(n).type == CX88_VMUX_CABLE)) |
903 | i->type = V4L2_INPUT_TYPE_TUNER; | 903 | i->type = V4L2_INPUT_TYPE_TUNER; |
@@ -952,7 +952,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
952 | if (t->index != 0) | 952 | if (t->index != 0) |
953 | return -EINVAL; | 953 | return -EINVAL; |
954 | 954 | ||
955 | strcpy(t->name, "Television"); | 955 | strscpy(t->name, "Television", sizeof(t->name)); |
956 | t->capability = V4L2_TUNER_CAP_NORM; | 956 | t->capability = V4L2_TUNER_CAP_NORM; |
957 | t->rangehigh = 0xffffffffUL; | 957 | t->rangehigh = 0xffffffffUL; |
958 | call_all(core, tuner, g_tuner, t); | 958 | call_all(core, tuner, g_tuner, t); |
@@ -1065,7 +1065,7 @@ static int radio_g_tuner(struct file *file, void *priv, | |||
1065 | if (unlikely(t->index > 0)) | 1065 | if (unlikely(t->index > 0)) |
1066 | return -EINVAL; | 1066 | return -EINVAL; |
1067 | 1067 | ||
1068 | strcpy(t->name, "Radio"); | 1068 | strscpy(t->name, "Radio", sizeof(t->name)); |
1069 | 1069 | ||
1070 | call_all(core, tuner, g_tuner, t); | 1070 | call_all(core, tuner, g_tuner, t); |
1071 | return 0; | 1071 | return 0; |
diff --git a/drivers/media/pci/dm1105/dm1105.c b/drivers/media/pci/dm1105/dm1105.c index 1ddb0576fb7b..a84c8270ea13 100644 --- a/drivers/media/pci/dm1105/dm1105.c +++ b/drivers/media/pci/dm1105/dm1105.c | |||
@@ -1046,7 +1046,7 @@ static int dm1105_probe(struct pci_dev *pdev, | |||
1046 | 1046 | ||
1047 | /* i2c */ | 1047 | /* i2c */ |
1048 | i2c_set_adapdata(&dev->i2c_adap, dev); | 1048 | i2c_set_adapdata(&dev->i2c_adap, dev); |
1049 | strcpy(dev->i2c_adap.name, DRIVER_NAME); | 1049 | strscpy(dev->i2c_adap.name, DRIVER_NAME, sizeof(dev->i2c_adap.name)); |
1050 | dev->i2c_adap.owner = THIS_MODULE; | 1050 | dev->i2c_adap.owner = THIS_MODULE; |
1051 | dev->i2c_adap.dev.parent = &pdev->dev; | 1051 | dev->i2c_adap.dev.parent = &pdev->dev; |
1052 | dev->i2c_adap.algo = &dm1105_algo; | 1052 | dev->i2c_adap.algo = &dm1105_algo; |
@@ -1057,7 +1057,8 @@ static int dm1105_probe(struct pci_dev *pdev, | |||
1057 | goto err_dm1105_hw_exit; | 1057 | goto err_dm1105_hw_exit; |
1058 | 1058 | ||
1059 | i2c_set_adapdata(&dev->i2c_bb_adap, dev); | 1059 | i2c_set_adapdata(&dev->i2c_bb_adap, dev); |
1060 | strcpy(dev->i2c_bb_adap.name, DM1105_I2C_GPIO_NAME); | 1060 | strscpy(dev->i2c_bb_adap.name, DM1105_I2C_GPIO_NAME, |
1061 | sizeof(dev->i2c_bb_adap.name)); | ||
1061 | dev->i2c_bb_adap.owner = THIS_MODULE; | 1062 | dev->i2c_bb_adap.owner = THIS_MODULE; |
1062 | dev->i2c_bb_adap.dev.parent = &pdev->dev; | 1063 | dev->i2c_bb_adap.dev.parent = &pdev->dev; |
1063 | dev->i2c_bb_adap.algo_data = &dev->i2c_bit; | 1064 | dev->i2c_bb_adap.algo_data = &dev->i2c_bit; |
diff --git a/drivers/media/pci/dt3155/dt3155.c b/drivers/media/pci/dt3155/dt3155.c index bf6e1621ad6b..17d69bd5d7f1 100644 --- a/drivers/media/pci/dt3155/dt3155.c +++ b/drivers/media/pci/dt3155/dt3155.c | |||
@@ -307,8 +307,8 @@ static int dt3155_querycap(struct file *filp, void *p, | |||
307 | { | 307 | { |
308 | struct dt3155_priv *pd = video_drvdata(filp); | 308 | struct dt3155_priv *pd = video_drvdata(filp); |
309 | 309 | ||
310 | strcpy(cap->driver, DT3155_NAME); | 310 | strscpy(cap->driver, DT3155_NAME, sizeof(cap->driver)); |
311 | strcpy(cap->card, DT3155_NAME " frame grabber"); | 311 | strscpy(cap->card, DT3155_NAME " frame grabber", sizeof(cap->card)); |
312 | sprintf(cap->bus_info, "PCI:%s", pci_name(pd->pdev)); | 312 | sprintf(cap->bus_info, "PCI:%s", pci_name(pd->pdev)); |
313 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | | 313 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | |
314 | V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; | 314 | V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; |
@@ -322,7 +322,7 @@ static int dt3155_enum_fmt_vid_cap(struct file *filp, | |||
322 | if (f->index) | 322 | if (f->index) |
323 | return -EINVAL; | 323 | return -EINVAL; |
324 | f->pixelformat = V4L2_PIX_FMT_GREY; | 324 | f->pixelformat = V4L2_PIX_FMT_GREY; |
325 | strcpy(f->description, "8-bit Greyscale"); | 325 | strscpy(f->description, "8-bit Greyscale", sizeof(f->description)); |
326 | return 0; | 326 | return 0; |
327 | } | 327 | } |
328 | 328 | ||
diff --git a/drivers/media/pci/meye/meye.c b/drivers/media/pci/meye/meye.c index 8001d3e9134e..7285edcdd323 100644 --- a/drivers/media/pci/meye/meye.c +++ b/drivers/media/pci/meye/meye.c | |||
@@ -1019,8 +1019,8 @@ static int meyeioc_stilljcapt(int *len) | |||
1019 | static int vidioc_querycap(struct file *file, void *fh, | 1019 | static int vidioc_querycap(struct file *file, void *fh, |
1020 | struct v4l2_capability *cap) | 1020 | struct v4l2_capability *cap) |
1021 | { | 1021 | { |
1022 | strcpy(cap->driver, "meye"); | 1022 | strscpy(cap->driver, "meye", sizeof(cap->driver)); |
1023 | strcpy(cap->card, "meye"); | 1023 | strscpy(cap->card, "meye", sizeof(cap->card)); |
1024 | sprintf(cap->bus_info, "PCI:%s", pci_name(meye.mchip_dev)); | 1024 | sprintf(cap->bus_info, "PCI:%s", pci_name(meye.mchip_dev)); |
1025 | 1025 | ||
1026 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | | 1026 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | |
@@ -1035,7 +1035,7 @@ static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_input *i) | |||
1035 | if (i->index != 0) | 1035 | if (i->index != 0) |
1036 | return -EINVAL; | 1036 | return -EINVAL; |
1037 | 1037 | ||
1038 | strcpy(i->name, "Camera"); | 1038 | strscpy(i->name, "Camera", sizeof(i->name)); |
1039 | i->type = V4L2_INPUT_TYPE_CAMERA; | 1039 | i->type = V4L2_INPUT_TYPE_CAMERA; |
1040 | 1040 | ||
1041 | return 0; | 1041 | return 0; |
@@ -1118,12 +1118,12 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *fh, | |||
1118 | if (f->index == 0) { | 1118 | if (f->index == 0) { |
1119 | /* standard YUV 422 capture */ | 1119 | /* standard YUV 422 capture */ |
1120 | f->flags = 0; | 1120 | f->flags = 0; |
1121 | strcpy(f->description, "YUV422"); | 1121 | strscpy(f->description, "YUV422", sizeof(f->description)); |
1122 | f->pixelformat = V4L2_PIX_FMT_YUYV; | 1122 | f->pixelformat = V4L2_PIX_FMT_YUYV; |
1123 | } else { | 1123 | } else { |
1124 | /* compressed MJPEG capture */ | 1124 | /* compressed MJPEG capture */ |
1125 | f->flags = V4L2_FMT_FLAG_COMPRESSED; | 1125 | f->flags = V4L2_FMT_FLAG_COMPRESSED; |
1126 | strcpy(f->description, "MJPEG"); | 1126 | strscpy(f->description, "MJPEG", sizeof(f->description)); |
1127 | f->pixelformat = V4L2_PIX_FMT_MJPEG; | 1127 | f->pixelformat = V4L2_PIX_FMT_MJPEG; |
1128 | } | 1128 | } |
1129 | 1129 | ||
diff --git a/drivers/media/pci/ngene/ngene-i2c.c b/drivers/media/pci/ngene/ngene-i2c.c index 092d46c2a3a9..02a06f6c97f8 100644 --- a/drivers/media/pci/ngene/ngene-i2c.c +++ b/drivers/media/pci/ngene/ngene-i2c.c | |||
@@ -161,7 +161,7 @@ int ngene_i2c_init(struct ngene *dev, int dev_nr) | |||
161 | 161 | ||
162 | i2c_set_adapdata(adap, &(dev->channel[dev_nr])); | 162 | i2c_set_adapdata(adap, &(dev->channel[dev_nr])); |
163 | 163 | ||
164 | strcpy(adap->name, "nGene"); | 164 | strscpy(adap->name, "nGene", sizeof(adap->name)); |
165 | 165 | ||
166 | adap->algo = &ngene_i2c_algo; | 166 | adap->algo = &ngene_i2c_algo; |
167 | adap->algo_data = (void *)&(dev->channel[dev_nr]); | 167 | adap->algo_data = (void *)&(dev->channel[dev_nr]); |
diff --git a/drivers/media/pci/pluto2/pluto2.c b/drivers/media/pci/pluto2/pluto2.c index 5e6fe686f420..872c796621d2 100644 --- a/drivers/media/pci/pluto2/pluto2.c +++ b/drivers/media/pci/pluto2/pluto2.c | |||
@@ -633,7 +633,7 @@ static int pluto2_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
633 | 633 | ||
634 | /* i2c */ | 634 | /* i2c */ |
635 | i2c_set_adapdata(&pluto->i2c_adap, pluto); | 635 | i2c_set_adapdata(&pluto->i2c_adap, pluto); |
636 | strcpy(pluto->i2c_adap.name, DRIVER_NAME); | 636 | strscpy(pluto->i2c_adap.name, DRIVER_NAME, sizeof(pluto->i2c_adap.name)); |
637 | pluto->i2c_adap.owner = THIS_MODULE; | 637 | pluto->i2c_adap.owner = THIS_MODULE; |
638 | pluto->i2c_adap.dev.parent = &pdev->dev; | 638 | pluto->i2c_adap.dev.parent = &pdev->dev; |
639 | pluto->i2c_adap.algo_data = &pluto->i2c_bit; | 639 | pluto->i2c_adap.algo_data = &pluto->i2c_bit; |
diff --git a/drivers/media/pci/pt1/pt1.c b/drivers/media/pci/pt1/pt1.c index 7f878fc41b7e..f4b8030e2369 100644 --- a/drivers/media/pci/pt1/pt1.c +++ b/drivers/media/pci/pt1/pt1.c | |||
@@ -1354,7 +1354,7 @@ static int pt1_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
1354 | i2c_adap->algo = &pt1_i2c_algo; | 1354 | i2c_adap->algo = &pt1_i2c_algo; |
1355 | i2c_adap->algo_data = NULL; | 1355 | i2c_adap->algo_data = NULL; |
1356 | i2c_adap->dev.parent = &pdev->dev; | 1356 | i2c_adap->dev.parent = &pdev->dev; |
1357 | strcpy(i2c_adap->name, DRIVER_NAME); | 1357 | strscpy(i2c_adap->name, DRIVER_NAME, sizeof(i2c_adap->name)); |
1358 | i2c_set_adapdata(i2c_adap, pt1); | 1358 | i2c_set_adapdata(i2c_adap, pt1); |
1359 | ret = i2c_add_adapter(i2c_adap); | 1359 | ret = i2c_add_adapter(i2c_adap); |
1360 | if (ret < 0) | 1360 | if (ret < 0) |
diff --git a/drivers/media/pci/saa7134/saa7134-alsa.c b/drivers/media/pci/saa7134/saa7134-alsa.c index b90cfde6e301..dc9cdaaee1fb 100644 --- a/drivers/media/pci/saa7134/saa7134-alsa.c +++ b/drivers/media/pci/saa7134/saa7134-alsa.c | |||
@@ -901,7 +901,7 @@ static int snd_card_saa7134_pcm(snd_card_saa7134_t *saa7134, int device) | |||
901 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_saa7134_capture_ops); | 901 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_saa7134_capture_ops); |
902 | pcm->private_data = saa7134; | 902 | pcm->private_data = saa7134; |
903 | pcm->info_flags = 0; | 903 | pcm->info_flags = 0; |
904 | strcpy(pcm->name, "SAA7134 PCM"); | 904 | strscpy(pcm->name, "SAA7134 PCM", sizeof(pcm->name)); |
905 | return 0; | 905 | return 0; |
906 | } | 906 | } |
907 | 907 | ||
@@ -1074,7 +1074,7 @@ static int snd_card_saa7134_new_mixer(snd_card_saa7134_t * chip) | |||
1074 | unsigned int idx; | 1074 | unsigned int idx; |
1075 | int err, addr; | 1075 | int err, addr; |
1076 | 1076 | ||
1077 | strcpy(card->mixername, "SAA7134 Mixer"); | 1077 | strscpy(card->mixername, "SAA7134 Mixer", sizeof(card->mixername)); |
1078 | 1078 | ||
1079 | for (idx = 0; idx < ARRAY_SIZE(snd_saa7134_volume_controls); idx++) { | 1079 | for (idx = 0; idx < ARRAY_SIZE(snd_saa7134_volume_controls); idx++) { |
1080 | kcontrol = snd_ctl_new1(&snd_saa7134_volume_controls[idx], | 1080 | kcontrol = snd_ctl_new1(&snd_saa7134_volume_controls[idx], |
@@ -1138,7 +1138,7 @@ static int alsa_card_saa7134_create(struct saa7134_dev *dev, int devnum) | |||
1138 | if (err < 0) | 1138 | if (err < 0) |
1139 | return err; | 1139 | return err; |
1140 | 1140 | ||
1141 | strcpy(card->driver, "SAA7134"); | 1141 | strscpy(card->driver, "SAA7134", sizeof(card->driver)); |
1142 | 1142 | ||
1143 | /* Card "creation" */ | 1143 | /* Card "creation" */ |
1144 | 1144 | ||
@@ -1178,7 +1178,7 @@ static int alsa_card_saa7134_create(struct saa7134_dev *dev, int devnum) | |||
1178 | 1178 | ||
1179 | /* End of "creation" */ | 1179 | /* End of "creation" */ |
1180 | 1180 | ||
1181 | strcpy(card->shortname, "SAA7134"); | 1181 | strscpy(card->shortname, "SAA7134", sizeof(card->shortname)); |
1182 | sprintf(card->longname, "%s at 0x%lx irq %d", | 1182 | sprintf(card->longname, "%s at 0x%lx irq %d", |
1183 | chip->dev->name, chip->iobase, chip->irq); | 1183 | chip->dev->name, chip->iobase, chip->irq); |
1184 | 1184 | ||
diff --git a/drivers/media/pci/saa7134/saa7134-i2c.c b/drivers/media/pci/saa7134/saa7134-i2c.c index cf1e526de56a..51af3310654c 100644 --- a/drivers/media/pci/saa7134/saa7134-i2c.c +++ b/drivers/media/pci/saa7134/saa7134-i2c.c | |||
@@ -437,7 +437,7 @@ int saa7134_i2c_register(struct saa7134_dev *dev) | |||
437 | { | 437 | { |
438 | dev->i2c_adap = saa7134_adap_template; | 438 | dev->i2c_adap = saa7134_adap_template; |
439 | dev->i2c_adap.dev.parent = &dev->pci->dev; | 439 | dev->i2c_adap.dev.parent = &dev->pci->dev; |
440 | strcpy(dev->i2c_adap.name,dev->name); | 440 | strscpy(dev->i2c_adap.name, dev->name, sizeof(dev->i2c_adap.name)); |
441 | dev->i2c_adap.algo_data = dev; | 441 | dev->i2c_adap.algo_data = dev; |
442 | i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); | 442 | i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); |
443 | i2c_add_adapter(&dev->i2c_adap); | 443 | i2c_add_adapter(&dev->i2c_adap); |
diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/saa7134/saa7134-video.c index b41de940a1ee..1a22ae7cbdd9 100644 --- a/drivers/media/pci/saa7134/saa7134-video.c +++ b/drivers/media/pci/saa7134/saa7134-video.c | |||
@@ -1445,7 +1445,8 @@ int saa7134_enum_input(struct file *file, void *priv, struct v4l2_input *i) | |||
1445 | if (card_in(dev, i->index).type == SAA7134_NO_INPUT) | 1445 | if (card_in(dev, i->index).type == SAA7134_NO_INPUT) |
1446 | return -EINVAL; | 1446 | return -EINVAL; |
1447 | i->index = n; | 1447 | i->index = n; |
1448 | strcpy(i->name, saa7134_input_name[card_in(dev, n).type]); | 1448 | strscpy(i->name, saa7134_input_name[card_in(dev, n).type], |
1449 | sizeof(i->name)); | ||
1449 | switch (card_in(dev, n).type) { | 1450 | switch (card_in(dev, n).type) { |
1450 | case SAA7134_INPUT_TV: | 1451 | case SAA7134_INPUT_TV: |
1451 | case SAA7134_INPUT_TV_MONO: | 1452 | case SAA7134_INPUT_TV_MONO: |
@@ -1502,7 +1503,7 @@ int saa7134_querycap(struct file *file, void *priv, | |||
1502 | 1503 | ||
1503 | unsigned int tuner_type = dev->tuner_type; | 1504 | unsigned int tuner_type = dev->tuner_type; |
1504 | 1505 | ||
1505 | strcpy(cap->driver, "saa7134"); | 1506 | strscpy(cap->driver, "saa7134", sizeof(cap->driver)); |
1506 | strscpy(cap->card, saa7134_boards[dev->board].name, | 1507 | strscpy(cap->card, saa7134_boards[dev->board].name, |
1507 | sizeof(cap->card)); | 1508 | sizeof(cap->card)); |
1508 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 1509 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
@@ -1747,7 +1748,7 @@ int saa7134_g_tuner(struct file *file, void *priv, | |||
1747 | if (n == SAA7134_INPUT_MAX) | 1748 | if (n == SAA7134_INPUT_MAX) |
1748 | return -EINVAL; | 1749 | return -EINVAL; |
1749 | if (card_in(dev, n).type != SAA7134_NO_INPUT) { | 1750 | if (card_in(dev, n).type != SAA7134_NO_INPUT) { |
1750 | strcpy(t->name, "Television"); | 1751 | strscpy(t->name, "Television", sizeof(t->name)); |
1751 | t->type = V4L2_TUNER_ANALOG_TV; | 1752 | t->type = V4L2_TUNER_ANALOG_TV; |
1752 | saa_call_all(dev, tuner, g_tuner, t); | 1753 | saa_call_all(dev, tuner, g_tuner, t); |
1753 | t->capability = V4L2_TUNER_CAP_NORM | | 1754 | t->capability = V4L2_TUNER_CAP_NORM | |
@@ -1939,7 +1940,7 @@ static int radio_g_tuner(struct file *file, void *priv, | |||
1939 | if (0 != t->index) | 1940 | if (0 != t->index) |
1940 | return -EINVAL; | 1941 | return -EINVAL; |
1941 | 1942 | ||
1942 | strcpy(t->name, "Radio"); | 1943 | strscpy(t->name, "Radio", sizeof(t->name)); |
1943 | 1944 | ||
1944 | saa_call_all(dev, tuner, g_tuner, t); | 1945 | saa_call_all(dev, tuner, g_tuner, t); |
1945 | t->audmode &= V4L2_TUNER_MODE_MONO | V4L2_TUNER_MODE_STEREO; | 1946 | t->audmode &= V4L2_TUNER_MODE_MONO | V4L2_TUNER_MODE_STEREO; |
diff --git a/drivers/media/pci/saa7164/saa7164-core.c b/drivers/media/pci/saa7164/saa7164-core.c index d697e1ad929c..f33349e16359 100644 --- a/drivers/media/pci/saa7164/saa7164-core.c +++ b/drivers/media/pci/saa7164/saa7164-core.c | |||
@@ -179,7 +179,7 @@ static void saa7164_histogram_reset(struct saa7164_histogram *hg, char *name) | |||
179 | int i; | 179 | int i; |
180 | 180 | ||
181 | memset(hg, 0, sizeof(struct saa7164_histogram)); | 181 | memset(hg, 0, sizeof(struct saa7164_histogram)); |
182 | strcpy(hg->name, name); | 182 | strscpy(hg->name, name, sizeof(hg->name)); |
183 | 183 | ||
184 | /* First 30ms x 1ms */ | 184 | /* First 30ms x 1ms */ |
185 | for (i = 0; i < 30; i++) | 185 | for (i = 0; i < 30; i++) |
diff --git a/drivers/media/pci/saa7164/saa7164-encoder.c b/drivers/media/pci/saa7164/saa7164-encoder.c index 50161921e4e7..adec2bab8352 100644 --- a/drivers/media/pci/saa7164/saa7164-encoder.c +++ b/drivers/media/pci/saa7164/saa7164-encoder.c | |||
@@ -258,7 +258,7 @@ int saa7164_enum_input(struct file *file, void *priv, struct v4l2_input *i) | |||
258 | if (i->index >= 7) | 258 | if (i->index >= 7) |
259 | return -EINVAL; | 259 | return -EINVAL; |
260 | 260 | ||
261 | strcpy(i->name, inputs[i->index]); | 261 | strscpy(i->name, inputs[i->index], sizeof(i->name)); |
262 | 262 | ||
263 | if (i->index == 0) | 263 | if (i->index == 0) |
264 | i->type = V4L2_INPUT_TYPE_TUNER; | 264 | i->type = V4L2_INPUT_TYPE_TUNER; |
@@ -325,7 +325,7 @@ int saa7164_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) | |||
325 | if (0 != t->index) | 325 | if (0 != t->index) |
326 | return -EINVAL; | 326 | return -EINVAL; |
327 | 327 | ||
328 | strcpy(t->name, "tuner"); | 328 | strscpy(t->name, "tuner", sizeof(t->name)); |
329 | t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO; | 329 | t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO; |
330 | t->rangelow = SAA7164_TV_MIN_FREQ; | 330 | t->rangelow = SAA7164_TV_MIN_FREQ; |
331 | t->rangehigh = SAA7164_TV_MAX_FREQ; | 331 | t->rangehigh = SAA7164_TV_MAX_FREQ; |
@@ -497,7 +497,7 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
497 | struct saa7164_port *port = fh->port; | 497 | struct saa7164_port *port = fh->port; |
498 | struct saa7164_dev *dev = port->dev; | 498 | struct saa7164_dev *dev = port->dev; |
499 | 499 | ||
500 | strcpy(cap->driver, dev->name); | 500 | strscpy(cap->driver, dev->name, sizeof(cap->driver)); |
501 | strscpy(cap->card, saa7164_boards[dev->board].name, | 501 | strscpy(cap->card, saa7164_boards[dev->board].name, |
502 | sizeof(cap->card)); | 502 | sizeof(cap->card)); |
503 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 503 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
diff --git a/drivers/media/pci/saa7164/saa7164-vbi.c b/drivers/media/pci/saa7164/saa7164-vbi.c index 17b7cabf9a1f..841c7e94405d 100644 --- a/drivers/media/pci/saa7164/saa7164-vbi.c +++ b/drivers/media/pci/saa7164/saa7164-vbi.c | |||
@@ -208,7 +208,7 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
208 | struct saa7164_port *port = fh->port; | 208 | struct saa7164_port *port = fh->port; |
209 | struct saa7164_dev *dev = port->dev; | 209 | struct saa7164_dev *dev = port->dev; |
210 | 210 | ||
211 | strcpy(cap->driver, dev->name); | 211 | strscpy(cap->driver, dev->name, sizeof(cap->driver)); |
212 | strscpy(cap->card, saa7164_boards[dev->board].name, | 212 | strscpy(cap->card, saa7164_boards[dev->board].name, |
213 | sizeof(cap->card)); | 213 | sizeof(cap->card)); |
214 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 214 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
diff --git a/drivers/media/pci/smipcie/smipcie-main.c b/drivers/media/pci/smipcie/smipcie-main.c index 4c2da27fee4b..4d5ddbcb3514 100644 --- a/drivers/media/pci/smipcie/smipcie-main.c +++ b/drivers/media/pci/smipcie/smipcie-main.c | |||
@@ -191,7 +191,7 @@ static int smi_i2c_init(struct smi_dev *dev) | |||
191 | /* i2c bus 0 */ | 191 | /* i2c bus 0 */ |
192 | smi_i2c_cfg(dev, I2C_A_SW_CTL); | 192 | smi_i2c_cfg(dev, I2C_A_SW_CTL); |
193 | i2c_set_adapdata(&dev->i2c_bus[0], dev); | 193 | i2c_set_adapdata(&dev->i2c_bus[0], dev); |
194 | strcpy(dev->i2c_bus[0].name, "SMI-I2C0"); | 194 | strscpy(dev->i2c_bus[0].name, "SMI-I2C0", sizeof(dev->i2c_bus[0].name)); |
195 | dev->i2c_bus[0].owner = THIS_MODULE; | 195 | dev->i2c_bus[0].owner = THIS_MODULE; |
196 | dev->i2c_bus[0].dev.parent = &dev->pci_dev->dev; | 196 | dev->i2c_bus[0].dev.parent = &dev->pci_dev->dev; |
197 | dev->i2c_bus[0].algo_data = &dev->i2c_bit[0]; | 197 | dev->i2c_bus[0].algo_data = &dev->i2c_bit[0]; |
@@ -213,7 +213,7 @@ static int smi_i2c_init(struct smi_dev *dev) | |||
213 | /* i2c bus 1 */ | 213 | /* i2c bus 1 */ |
214 | smi_i2c_cfg(dev, I2C_B_SW_CTL); | 214 | smi_i2c_cfg(dev, I2C_B_SW_CTL); |
215 | i2c_set_adapdata(&dev->i2c_bus[1], dev); | 215 | i2c_set_adapdata(&dev->i2c_bus[1], dev); |
216 | strcpy(dev->i2c_bus[1].name, "SMI-I2C1"); | 216 | strscpy(dev->i2c_bus[1].name, "SMI-I2C1", sizeof(dev->i2c_bus[1].name)); |
217 | dev->i2c_bus[1].owner = THIS_MODULE; | 217 | dev->i2c_bus[1].owner = THIS_MODULE; |
218 | dev->i2c_bus[1].dev.parent = &dev->pci_dev->dev; | 218 | dev->i2c_bus[1].dev.parent = &dev->pci_dev->dev; |
219 | dev->i2c_bus[1].algo_data = &dev->i2c_bit[1]; | 219 | dev->i2c_bus[1].algo_data = &dev->i2c_bit[1]; |
diff --git a/drivers/media/pci/solo6x10/solo6x10-g723.c b/drivers/media/pci/solo6x10/solo6x10-g723.c index 2ac33b5cc454..2cc05a9d57ac 100644 --- a/drivers/media/pci/solo6x10/solo6x10-g723.c +++ b/drivers/media/pci/solo6x10/solo6x10-g723.c | |||
@@ -354,7 +354,7 @@ static int solo_snd_pcm_init(struct solo_dev *solo_dev) | |||
354 | 354 | ||
355 | snd_pcm_chip(pcm) = solo_dev; | 355 | snd_pcm_chip(pcm) = solo_dev; |
356 | pcm->info_flags = 0; | 356 | pcm->info_flags = 0; |
357 | strcpy(pcm->name, card->shortname); | 357 | strscpy(pcm->name, card->shortname, sizeof(pcm->name)); |
358 | 358 | ||
359 | for (i = 0, ss = pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream; | 359 | for (i = 0, ss = pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream; |
360 | ss; ss = ss->next, i++) | 360 | ss; ss = ss->next, i++) |
@@ -394,8 +394,8 @@ int solo_g723_init(struct solo_dev *solo_dev) | |||
394 | 394 | ||
395 | card = solo_dev->snd_card; | 395 | card = solo_dev->snd_card; |
396 | 396 | ||
397 | strcpy(card->driver, SOLO6X10_NAME); | 397 | strscpy(card->driver, SOLO6X10_NAME, sizeof(card->driver)); |
398 | strcpy(card->shortname, "SOLO-6x10 Audio"); | 398 | strscpy(card->shortname, "SOLO-6x10 Audio", sizeof(card->shortname)); |
399 | sprintf(card->longname, "%s on %s IRQ %d", card->shortname, | 399 | sprintf(card->longname, "%s on %s IRQ %d", card->shortname, |
400 | pci_name(solo_dev->pdev), solo_dev->pdev->irq); | 400 | pci_name(solo_dev->pdev), solo_dev->pdev->irq); |
401 | 401 | ||
@@ -404,7 +404,7 @@ int solo_g723_init(struct solo_dev *solo_dev) | |||
404 | goto snd_error; | 404 | goto snd_error; |
405 | 405 | ||
406 | /* Mixer controls */ | 406 | /* Mixer controls */ |
407 | strcpy(card->mixername, "SOLO-6x10"); | 407 | strscpy(card->mixername, "SOLO-6x10", sizeof(card->mixername)); |
408 | kctl = snd_solo_capture_volume; | 408 | kctl = snd_solo_capture_volume; |
409 | kctl.count = solo_dev->nr_chans; | 409 | kctl.count = solo_dev->nr_chans; |
410 | 410 | ||
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c index 25f9f2ebff1d..9d27e7463070 100644 --- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c | |||
@@ -775,7 +775,7 @@ static int solo_enc_querycap(struct file *file, void *priv, | |||
775 | struct solo_enc_dev *solo_enc = video_drvdata(file); | 775 | struct solo_enc_dev *solo_enc = video_drvdata(file); |
776 | struct solo_dev *solo_dev = solo_enc->solo_dev; | 776 | struct solo_dev *solo_dev = solo_enc->solo_dev; |
777 | 777 | ||
778 | strcpy(cap->driver, SOLO6X10_NAME); | 778 | strscpy(cap->driver, SOLO6X10_NAME, sizeof(cap->driver)); |
779 | snprintf(cap->card, sizeof(cap->card), "Softlogic 6x10 Enc %d", | 779 | snprintf(cap->card, sizeof(cap->card), "Softlogic 6x10 Enc %d", |
780 | solo_enc->ch); | 780 | solo_enc->ch); |
781 | snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", | 781 | snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", |
@@ -834,17 +834,18 @@ static int solo_enc_enum_fmt_cap(struct file *file, void *priv, | |||
834 | switch (dev_type) { | 834 | switch (dev_type) { |
835 | case SOLO_DEV_6010: | 835 | case SOLO_DEV_6010: |
836 | f->pixelformat = V4L2_PIX_FMT_MPEG4; | 836 | f->pixelformat = V4L2_PIX_FMT_MPEG4; |
837 | strcpy(f->description, "MPEG-4 part 2"); | 837 | strscpy(f->description, "MPEG-4 part 2", |
838 | sizeof(f->description)); | ||
838 | break; | 839 | break; |
839 | case SOLO_DEV_6110: | 840 | case SOLO_DEV_6110: |
840 | f->pixelformat = V4L2_PIX_FMT_H264; | 841 | f->pixelformat = V4L2_PIX_FMT_H264; |
841 | strcpy(f->description, "H.264"); | 842 | strscpy(f->description, "H.264", sizeof(f->description)); |
842 | break; | 843 | break; |
843 | } | 844 | } |
844 | break; | 845 | break; |
845 | case 1: | 846 | case 1: |
846 | f->pixelformat = V4L2_PIX_FMT_MJPEG; | 847 | f->pixelformat = V4L2_PIX_FMT_MJPEG; |
847 | strcpy(f->description, "MJPEG"); | 848 | strscpy(f->description, "MJPEG", sizeof(f->description)); |
848 | break; | 849 | break; |
849 | default: | 850 | default: |
850 | return -EINVAL; | 851 | return -EINVAL; |
@@ -1126,7 +1127,8 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl) | |||
1126 | solo_enc->md_thresholds->p_new.p_u16); | 1127 | solo_enc->md_thresholds->p_new.p_u16); |
1127 | break; | 1128 | break; |
1128 | case V4L2_CID_OSD_TEXT: | 1129 | case V4L2_CID_OSD_TEXT: |
1129 | strcpy(solo_enc->osd_text, ctrl->p_new.p_char); | 1130 | strscpy(solo_enc->osd_text, ctrl->p_new.p_char, |
1131 | sizeof(solo_enc->osd_text)); | ||
1130 | return solo_osd_print(solo_enc); | 1132 | return solo_osd_print(solo_enc); |
1131 | default: | 1133 | default: |
1132 | return -EINVAL; | 1134 | return -EINVAL; |
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c b/drivers/media/pci/solo6x10/solo6x10-v4l2.c index 351bc434d3a2..69fc939fd3d9 100644 --- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c +++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c | |||
@@ -383,8 +383,8 @@ static int solo_querycap(struct file *file, void *priv, | |||
383 | { | 383 | { |
384 | struct solo_dev *solo_dev = video_drvdata(file); | 384 | struct solo_dev *solo_dev = video_drvdata(file); |
385 | 385 | ||
386 | strcpy(cap->driver, SOLO6X10_NAME); | 386 | strscpy(cap->driver, SOLO6X10_NAME, sizeof(cap->driver)); |
387 | strcpy(cap->card, "Softlogic 6x10"); | 387 | strscpy(cap->card, "Softlogic 6x10", sizeof(cap->card)); |
388 | snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", | 388 | snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", |
389 | pci_name(solo_dev->pdev)); | 389 | pci_name(solo_dev->pdev)); |
390 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | | 390 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | |
diff --git a/drivers/media/pci/sta2x11/sta2x11_vip.c b/drivers/media/pci/sta2x11/sta2x11_vip.c index 1858efedaf1a..411177ec4d72 100644 --- a/drivers/media/pci/sta2x11/sta2x11_vip.c +++ b/drivers/media/pci/sta2x11/sta2x11_vip.c | |||
@@ -419,8 +419,8 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
419 | { | 419 | { |
420 | struct sta2x11_vip *vip = video_drvdata(file); | 420 | struct sta2x11_vip *vip = video_drvdata(file); |
421 | 421 | ||
422 | strcpy(cap->driver, KBUILD_MODNAME); | 422 | strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver)); |
423 | strcpy(cap->card, KBUILD_MODNAME); | 423 | strscpy(cap->card, KBUILD_MODNAME, sizeof(cap->card)); |
424 | snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", | 424 | snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", |
425 | pci_name(vip->pdev)); | 425 | pci_name(vip->pdev)); |
426 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE | | 426 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE | |
@@ -580,7 +580,7 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, | |||
580 | if (f->index != 0) | 580 | if (f->index != 0) |
581 | return -EINVAL; | 581 | return -EINVAL; |
582 | 582 | ||
583 | strcpy(f->description, "4:2:2, packed, UYVY"); | 583 | strscpy(f->description, "4:2:2, packed, UYVY", sizeof(f->description)); |
584 | f->pixelformat = V4L2_PIX_FMT_UYVY; | 584 | f->pixelformat = V4L2_PIX_FMT_UYVY; |
585 | f->flags = 0; | 585 | f->flags = 0; |
586 | return 0; | 586 | return 0; |
diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/media/pci/ttpci/av7110_v4l.c index e4cf42c32284..d1fe15365f4a 100644 --- a/drivers/media/pci/ttpci/av7110_v4l.c +++ b/drivers/media/pci/ttpci/av7110_v4l.c | |||
@@ -332,7 +332,7 @@ static int vidioc_g_tuner(struct file *file, void *fh, struct v4l2_tuner *t) | |||
332 | return -EINVAL; | 332 | return -EINVAL; |
333 | 333 | ||
334 | memset(t, 0, sizeof(*t)); | 334 | memset(t, 0, sizeof(*t)); |
335 | strcpy((char *)t->name, "Television"); | 335 | strscpy((char *)t->name, "Television", sizeof(t->name)); |
336 | 336 | ||
337 | t->type = V4L2_TUNER_ANALOG_TV; | 337 | t->type = V4L2_TUNER_ANALOG_TV; |
338 | t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO | | 338 | t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO | |
diff --git a/drivers/media/pci/ttpci/budget-core.c b/drivers/media/pci/ttpci/budget-core.c index 505356bde14b..35b696bdb2df 100644 --- a/drivers/media/pci/ttpci/budget-core.c +++ b/drivers/media/pci/ttpci/budget-core.c | |||
@@ -508,7 +508,8 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev, | |||
508 | sizeof(budget->i2c_adap.name)); | 508 | sizeof(budget->i2c_adap.name)); |
509 | 509 | ||
510 | saa7146_i2c_adapter_prepare(dev, &budget->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120); | 510 | saa7146_i2c_adapter_prepare(dev, &budget->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120); |
511 | strcpy(budget->i2c_adap.name, budget->card->name); | 511 | strscpy(budget->i2c_adap.name, budget->card->name, |
512 | sizeof(budget->i2c_adap.name)); | ||
512 | 513 | ||
513 | if (i2c_add_adapter(&budget->i2c_adap) < 0) { | 514 | if (i2c_add_adapter(&budget->i2c_adap) < 0) { |
514 | ret = -ENOMEM; | 515 | ret = -ENOMEM; |
diff --git a/drivers/media/pci/tw5864/tw5864-video.c b/drivers/media/pci/tw5864/tw5864-video.c index ff2b7da90c08..5a1f3aa4101a 100644 --- a/drivers/media/pci/tw5864/tw5864-video.c +++ b/drivers/media/pci/tw5864/tw5864-video.c | |||
@@ -610,7 +610,7 @@ static int tw5864_querycap(struct file *file, void *priv, | |||
610 | { | 610 | { |
611 | struct tw5864_input *input = video_drvdata(file); | 611 | struct tw5864_input *input = video_drvdata(file); |
612 | 612 | ||
613 | strcpy(cap->driver, "tw5864"); | 613 | strscpy(cap->driver, "tw5864", sizeof(cap->driver)); |
614 | snprintf(cap->card, sizeof(cap->card), "TW5864 Encoder %d", | 614 | snprintf(cap->card, sizeof(cap->card), "TW5864 Encoder %d", |
615 | input->nr); | 615 | input->nr); |
616 | sprintf(cap->bus_info, "PCI:%s", pci_name(input->root->pci)); | 616 | sprintf(cap->bus_info, "PCI:%s", pci_name(input->root->pci)); |
diff --git a/drivers/media/pci/tw68/tw68-video.c b/drivers/media/pci/tw68/tw68-video.c index 08e7dd6ecb07..d3f727045ae8 100644 --- a/drivers/media/pci/tw68/tw68-video.c +++ b/drivers/media/pci/tw68/tw68-video.c | |||
@@ -734,7 +734,7 @@ static int tw68_querycap(struct file *file, void *priv, | |||
734 | { | 734 | { |
735 | struct tw68_dev *dev = video_drvdata(file); | 735 | struct tw68_dev *dev = video_drvdata(file); |
736 | 736 | ||
737 | strcpy(cap->driver, "tw68"); | 737 | strscpy(cap->driver, "tw68", sizeof(cap->driver)); |
738 | strscpy(cap->card, "Techwell Capture Card", | 738 | strscpy(cap->card, "Techwell Capture Card", |
739 | sizeof(cap->card)); | 739 | sizeof(cap->card)); |
740 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); | 740 | sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); |
diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c index 28590cf3770b..cac6aec0ffa7 100644 --- a/drivers/media/platform/am437x/am437x-vpfe.c +++ b/drivers/media/platform/am437x/am437x-vpfe.c | |||
@@ -2455,7 +2455,8 @@ vpfe_get_pdata(struct platform_device *pdev) | |||
2455 | 2455 | ||
2456 | /* we only support camera */ | 2456 | /* we only support camera */ |
2457 | sdinfo->inputs[0].index = i; | 2457 | sdinfo->inputs[0].index = i; |
2458 | strcpy(sdinfo->inputs[0].name, "Camera"); | 2458 | strscpy(sdinfo->inputs[0].name, "Camera", |
2459 | sizeof(sdinfo->inputs[0].name)); | ||
2459 | sdinfo->inputs[0].type = V4L2_INPUT_TYPE_CAMERA; | 2460 | sdinfo->inputs[0].type = V4L2_INPUT_TYPE_CAMERA; |
2460 | sdinfo->inputs[0].std = V4L2_STD_ALL; | 2461 | sdinfo->inputs[0].std = V4L2_STD_ALL; |
2461 | sdinfo->inputs[0].capabilities = V4L2_IN_CAP_STD; | 2462 | sdinfo->inputs[0].capabilities = V4L2_IN_CAP_STD; |
diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c index 776a92d7387f..dc637bffe63c 100644 --- a/drivers/media/platform/atmel/atmel-isc.c +++ b/drivers/media/platform/atmel/atmel-isc.c | |||
@@ -1238,8 +1238,8 @@ static int isc_querycap(struct file *file, void *priv, | |||
1238 | { | 1238 | { |
1239 | struct isc_device *isc = video_drvdata(file); | 1239 | struct isc_device *isc = video_drvdata(file); |
1240 | 1240 | ||
1241 | strcpy(cap->driver, ATMEL_ISC_NAME); | 1241 | strscpy(cap->driver, ATMEL_ISC_NAME, sizeof(cap->driver)); |
1242 | strcpy(cap->card, "Atmel Image Sensor Controller"); | 1242 | strscpy(cap->card, "Atmel Image Sensor Controller", sizeof(cap->card)); |
1243 | snprintf(cap->bus_info, sizeof(cap->bus_info), | 1243 | snprintf(cap->bus_info, sizeof(cap->bus_info), |
1244 | "platform:%s", isc->v4l2_dev.name); | 1244 | "platform:%s", isc->v4l2_dev.name); |
1245 | 1245 | ||
@@ -1393,7 +1393,7 @@ static int isc_enum_input(struct file *file, void *priv, | |||
1393 | 1393 | ||
1394 | inp->type = V4L2_INPUT_TYPE_CAMERA; | 1394 | inp->type = V4L2_INPUT_TYPE_CAMERA; |
1395 | inp->std = 0; | 1395 | inp->std = 0; |
1396 | strcpy(inp->name, "Camera"); | 1396 | strscpy(inp->name, "Camera", sizeof(inp->name)); |
1397 | 1397 | ||
1398 | return 0; | 1398 | return 0; |
1399 | } | 1399 | } |
diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c index a96c9337ae58..d6bf96ad474c 100644 --- a/drivers/media/platform/davinci/vpbe_display.c +++ b/drivers/media/platform/davinci/vpbe_display.c | |||
@@ -816,10 +816,12 @@ static int vpbe_display_enum_fmt(struct file *file, void *priv, | |||
816 | fmt->index = index; | 816 | fmt->index = index; |
817 | fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; | 817 | fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; |
818 | if (index == 0) { | 818 | if (index == 0) { |
819 | strcpy(fmt->description, "YUV 4:2:2 - UYVY"); | 819 | strscpy(fmt->description, "YUV 4:2:2 - UYVY", |
820 | sizeof(fmt->description)); | ||
820 | fmt->pixelformat = V4L2_PIX_FMT_UYVY; | 821 | fmt->pixelformat = V4L2_PIX_FMT_UYVY; |
821 | } else { | 822 | } else { |
822 | strcpy(fmt->description, "Y/CbCr 4:2:0"); | 823 | strscpy(fmt->description, "Y/CbCr 4:2:0", |
824 | sizeof(fmt->description)); | ||
823 | fmt->pixelformat = V4L2_PIX_FMT_NV12; | 825 | fmt->pixelformat = V4L2_PIX_FMT_NV12; |
824 | } | 826 | } |
825 | 827 | ||
diff --git a/drivers/media/platform/davinci/vpbe_venc.c b/drivers/media/platform/davinci/vpbe_venc.c index ddcad7b3e76c..ca78eb29641a 100644 --- a/drivers/media/platform/davinci/vpbe_venc.c +++ b/drivers/media/platform/davinci/vpbe_venc.c | |||
@@ -616,7 +616,7 @@ struct v4l2_subdev *venc_sub_dev_init(struct v4l2_device *v4l2_dev, | |||
616 | 616 | ||
617 | v4l2_subdev_init(&venc->sd, &venc_ops); | 617 | v4l2_subdev_init(&venc->sd, &venc_ops); |
618 | 618 | ||
619 | strcpy(venc->sd.name, venc_name); | 619 | strscpy(venc->sd.name, venc_name, sizeof(venc->sd.name)); |
620 | if (v4l2_device_register_subdev(v4l2_dev, &venc->sd) < 0) { | 620 | if (v4l2_device_register_subdev(v4l2_dev, &venc->sd) < 0) { |
621 | v4l2_err(v4l2_dev, | 621 | v4l2_err(v4l2_dev, |
622 | "vpbe unable to register venc sub device\n"); | 622 | "vpbe unable to register venc sub device\n"); |
diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c index f0c2508a6e2e..62bced38db10 100644 --- a/drivers/media/platform/davinci/vpif_capture.c +++ b/drivers/media/platform/davinci/vpif_capture.c | |||
@@ -949,11 +949,13 @@ static int vpif_enum_fmt_vid_cap(struct file *file, void *priv, | |||
949 | /* Fill in the information about format */ | 949 | /* Fill in the information about format */ |
950 | if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER) { | 950 | if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER) { |
951 | fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 951 | fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
952 | strcpy(fmt->description, "Raw Mode -Bayer Pattern GrRBGb"); | 952 | strscpy(fmt->description, "Raw Mode -Bayer Pattern GrRBGb", |
953 | sizeof(fmt->description)); | ||
953 | fmt->pixelformat = V4L2_PIX_FMT_SBGGR8; | 954 | fmt->pixelformat = V4L2_PIX_FMT_SBGGR8; |
954 | } else { | 955 | } else { |
955 | fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 956 | fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
956 | strcpy(fmt->description, "YCbCr4:2:2 Semi-Planar"); | 957 | strscpy(fmt->description, "YCbCr4:2:2 Semi-Planar", |
958 | sizeof(fmt->description)); | ||
957 | fmt->pixelformat = V4L2_PIX_FMT_NV16; | 959 | fmt->pixelformat = V4L2_PIX_FMT_NV16; |
958 | } | 960 | } |
959 | return 0; | 961 | return 0; |
diff --git a/drivers/media/platform/davinci/vpif_display.c b/drivers/media/platform/davinci/vpif_display.c index fec4341eb93e..78eba66f4b2b 100644 --- a/drivers/media/platform/davinci/vpif_display.c +++ b/drivers/media/platform/davinci/vpif_display.c | |||
@@ -602,7 +602,8 @@ static int vpif_enum_fmt_vid_out(struct file *file, void *priv, | |||
602 | 602 | ||
603 | /* Fill in the information about format */ | 603 | /* Fill in the information about format */ |
604 | fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; | 604 | fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; |
605 | strcpy(fmt->description, "YCbCr4:2:2 YC Planar"); | 605 | strscpy(fmt->description, "YCbCr4:2:2 YC Planar", |
606 | sizeof(fmt->description)); | ||
606 | fmt->pixelformat = V4L2_PIX_FMT_YUV422P; | 607 | fmt->pixelformat = V4L2_PIX_FMT_YUV422P; |
607 | fmt->flags = 0; | 608 | fmt->flags = 0; |
608 | return 0; | 609 | return 0; |
diff --git a/drivers/media/platform/fsl-viu.c b/drivers/media/platform/fsl-viu.c index 0273302aa741..ca6d0317ab42 100644 --- a/drivers/media/platform/fsl-viu.c +++ b/drivers/media/platform/fsl-viu.c | |||
@@ -565,9 +565,9 @@ static const struct videobuf_queue_ops viu_video_qops = { | |||
565 | static int vidioc_querycap(struct file *file, void *priv, | 565 | static int vidioc_querycap(struct file *file, void *priv, |
566 | struct v4l2_capability *cap) | 566 | struct v4l2_capability *cap) |
567 | { | 567 | { |
568 | strcpy(cap->driver, "viu"); | 568 | strscpy(cap->driver, "viu", sizeof(cap->driver)); |
569 | strcpy(cap->card, "viu"); | 569 | strscpy(cap->card, "viu", sizeof(cap->card)); |
570 | strcpy(cap->bus_info, "platform:viu"); | 570 | strscpy(cap->bus_info, "platform:viu", sizeof(cap->bus_info)); |
571 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | | 571 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | |
572 | V4L2_CAP_STREAMING | | 572 | V4L2_CAP_STREAMING | |
573 | V4L2_CAP_VIDEO_OVERLAY | | 573 | V4L2_CAP_VIDEO_OVERLAY | |
@@ -941,7 +941,7 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
941 | 941 | ||
942 | inp->type = V4L2_INPUT_TYPE_CAMERA; | 942 | inp->type = V4L2_INPUT_TYPE_CAMERA; |
943 | inp->std = fh->dev->vdev->tvnorms; | 943 | inp->std = fh->dev->vdev->tvnorms; |
944 | strcpy(inp->name, "Camera"); | 944 | strscpy(inp->name, "Camera", sizeof(inp->name)); |
945 | return 0; | 945 | return 0; |
946 | } | 946 | } |
947 | 947 | ||
diff --git a/drivers/media/platform/marvell-ccic/cafe-driver.c b/drivers/media/platform/marvell-ccic/cafe-driver.c index 57d2c483ad09..2986cb4b88d0 100644 --- a/drivers/media/platform/marvell-ccic/cafe-driver.c +++ b/drivers/media/platform/marvell-ccic/cafe-driver.c | |||
@@ -341,7 +341,7 @@ static int cafe_smbus_setup(struct cafe_camera *cam) | |||
341 | return -ENOMEM; | 341 | return -ENOMEM; |
342 | adap->owner = THIS_MODULE; | 342 | adap->owner = THIS_MODULE; |
343 | adap->algo = &cafe_smbus_algo; | 343 | adap->algo = &cafe_smbus_algo; |
344 | strcpy(adap->name, "cafe_ccic"); | 344 | strscpy(adap->name, "cafe_ccic", sizeof(adap->name)); |
345 | adap->dev.parent = &cam->pdev->dev; | 345 | adap->dev.parent = &cam->pdev->dev; |
346 | i2c_set_adapdata(adap, cam); | 346 | i2c_set_adapdata(adap, cam); |
347 | ret = i2c_add_adapter(adap); | 347 | ret = i2c_add_adapter(adap); |
diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c b/drivers/media/platform/marvell-ccic/mcam-core.c index c47011194710..f8e1af101817 100644 --- a/drivers/media/platform/marvell-ccic/mcam-core.c +++ b/drivers/media/platform/marvell-ccic/mcam-core.c | |||
@@ -1303,8 +1303,8 @@ static int mcam_vidioc_querycap(struct file *file, void *priv, | |||
1303 | { | 1303 | { |
1304 | struct mcam_camera *cam = video_drvdata(file); | 1304 | struct mcam_camera *cam = video_drvdata(file); |
1305 | 1305 | ||
1306 | strcpy(cap->driver, "marvell_ccic"); | 1306 | strscpy(cap->driver, "marvell_ccic", sizeof(cap->driver)); |
1307 | strcpy(cap->card, "marvell_ccic"); | 1307 | strscpy(cap->card, "marvell_ccic", sizeof(cap->card)); |
1308 | strscpy(cap->bus_info, cam->bus_info, sizeof(cap->bus_info)); | 1308 | strscpy(cap->bus_info, cam->bus_info, sizeof(cap->bus_info)); |
1309 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | | 1309 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | |
1310 | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; | 1310 | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; |
@@ -1421,7 +1421,7 @@ static int mcam_vidioc_enum_input(struct file *filp, void *priv, | |||
1421 | return -EINVAL; | 1421 | return -EINVAL; |
1422 | 1422 | ||
1423 | input->type = V4L2_INPUT_TYPE_CAMERA; | 1423 | input->type = V4L2_INPUT_TYPE_CAMERA; |
1424 | strcpy(input->name, "Camera"); | 1424 | strscpy(input->name, "Camera", sizeof(input->name)); |
1425 | return 0; | 1425 | return 0; |
1426 | } | 1426 | } |
1427 | 1427 | ||
diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c index 1a00b1fa7990..44b6859d7238 100644 --- a/drivers/media/platform/soc_camera/soc_camera.c +++ b/drivers/media/platform/soc_camera/soc_camera.c | |||
@@ -312,7 +312,7 @@ static int soc_camera_enum_input(struct file *file, void *priv, | |||
312 | /* default is camera */ | 312 | /* default is camera */ |
313 | inp->type = V4L2_INPUT_TYPE_CAMERA; | 313 | inp->type = V4L2_INPUT_TYPE_CAMERA; |
314 | inp->std = icd->vdev->tvnorms; | 314 | inp->std = icd->vdev->tvnorms; |
315 | strcpy(inp->name, "Camera"); | 315 | strscpy(inp->name, "Camera", sizeof(inp->name)); |
316 | 316 | ||
317 | return 0; | 317 | return 0; |
318 | } | 318 | } |
diff --git a/drivers/media/platform/via-camera.c b/drivers/media/platform/via-camera.c index 554870e48750..24d5759501a5 100644 --- a/drivers/media/platform/via-camera.c +++ b/drivers/media/platform/via-camera.c | |||
@@ -812,7 +812,7 @@ static int viacam_enum_input(struct file *filp, void *priv, | |||
812 | 812 | ||
813 | input->type = V4L2_INPUT_TYPE_CAMERA; | 813 | input->type = V4L2_INPUT_TYPE_CAMERA; |
814 | input->std = V4L2_STD_ALL; /* Not sure what should go here */ | 814 | input->std = V4L2_STD_ALL; /* Not sure what should go here */ |
815 | strcpy(input->name, "Camera"); | 815 | strscpy(input->name, "Camera", sizeof(input->name)); |
816 | return 0; | 816 | return 0; |
817 | } | 817 | } |
818 | 818 | ||
@@ -990,8 +990,8 @@ out: | |||
990 | static int viacam_querycap(struct file *filp, void *priv, | 990 | static int viacam_querycap(struct file *filp, void *priv, |
991 | struct v4l2_capability *cap) | 991 | struct v4l2_capability *cap) |
992 | { | 992 | { |
993 | strcpy(cap->driver, "via-camera"); | 993 | strscpy(cap->driver, "via-camera", sizeof(cap->driver)); |
994 | strcpy(cap->card, "via-camera"); | 994 | strscpy(cap->card, "via-camera", sizeof(cap->card)); |
995 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | | 995 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | |
996 | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; | 996 | V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; |
997 | cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS; | 997 | cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS; |
diff --git a/drivers/media/platform/vivid/vivid-cec.c b/drivers/media/platform/vivid/vivid-cec.c index 71105fa4c5f9..4d822dbed972 100644 --- a/drivers/media/platform/vivid/vivid-cec.c +++ b/drivers/media/platform/vivid/vivid-cec.c | |||
@@ -241,11 +241,11 @@ static int vivid_received(struct cec_adapter *adap, struct cec_msg *msg) | |||
241 | cec_ops_set_osd_string(msg, &disp_ctl, osd); | 241 | cec_ops_set_osd_string(msg, &disp_ctl, osd); |
242 | switch (disp_ctl) { | 242 | switch (disp_ctl) { |
243 | case CEC_OP_DISP_CTL_DEFAULT: | 243 | case CEC_OP_DISP_CTL_DEFAULT: |
244 | strcpy(dev->osd, osd); | 244 | strscpy(dev->osd, osd, sizeof(dev->osd)); |
245 | dev->osd_jiffies = jiffies; | 245 | dev->osd_jiffies = jiffies; |
246 | break; | 246 | break; |
247 | case CEC_OP_DISP_CTL_UNTIL_CLEARED: | 247 | case CEC_OP_DISP_CTL_UNTIL_CLEARED: |
248 | strcpy(dev->osd, osd); | 248 | strscpy(dev->osd, osd, sizeof(dev->osd)); |
249 | dev->osd_jiffies = 0; | 249 | dev->osd_jiffies = 0; |
250 | break; | 250 | break; |
251 | case CEC_OP_DISP_CTL_CLEAR: | 251 | case CEC_OP_DISP_CTL_CLEAR: |
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c index 31db363602e5..06961e7d8036 100644 --- a/drivers/media/platform/vivid/vivid-core.c +++ b/drivers/media/platform/vivid/vivid-core.c | |||
@@ -197,8 +197,8 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
197 | { | 197 | { |
198 | struct vivid_dev *dev = video_drvdata(file); | 198 | struct vivid_dev *dev = video_drvdata(file); |
199 | 199 | ||
200 | strcpy(cap->driver, "vivid"); | 200 | strscpy(cap->driver, "vivid", sizeof(cap->driver)); |
201 | strcpy(cap->card, "vivid"); | 201 | strscpy(cap->card, "vivid", sizeof(cap->card)); |
202 | snprintf(cap->bus_info, sizeof(cap->bus_info), | 202 | snprintf(cap->bus_info, sizeof(cap->bus_info), |
203 | "platform:%s", dev->v4l2_dev.name); | 203 | "platform:%s", dev->v4l2_dev.name); |
204 | 204 | ||
diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c index a6f207b448be..c9d51a5f2838 100644 --- a/drivers/media/radio/dsbr100.c +++ b/drivers/media/radio/dsbr100.c | |||
@@ -191,7 +191,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
191 | return -EINVAL; | 191 | return -EINVAL; |
192 | 192 | ||
193 | dsbr100_getstat(radio); | 193 | dsbr100_getstat(radio); |
194 | strcpy(v->name, "FM"); | 194 | strscpy(v->name, "FM", sizeof(v->name)); |
195 | v->type = V4L2_TUNER_RADIO; | 195 | v->type = V4L2_TUNER_RADIO; |
196 | v->rangelow = FREQ_MIN * FREQ_MUL; | 196 | v->rangelow = FREQ_MIN * FREQ_MUL; |
197 | v->rangehigh = FREQ_MAX * FREQ_MUL; | 197 | v->rangehigh = FREQ_MAX * FREQ_MUL; |
diff --git a/drivers/media/radio/radio-ma901.c b/drivers/media/radio/radio-ma901.c index 0a59d97d4627..5cb153727841 100644 --- a/drivers/media/radio/radio-ma901.c +++ b/drivers/media/radio/radio-ma901.c | |||
@@ -222,7 +222,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
222 | * retval = ma901radio_get_stat(radio, &is_stereo, &v->signal); | 222 | * retval = ma901radio_get_stat(radio, &is_stereo, &v->signal); |
223 | */ | 223 | */ |
224 | 224 | ||
225 | strcpy(v->name, "FM"); | 225 | strscpy(v->name, "FM", sizeof(v->name)); |
226 | v->type = V4L2_TUNER_RADIO; | 226 | v->type = V4L2_TUNER_RADIO; |
227 | v->rangelow = FREQ_MIN * FREQ_MUL; | 227 | v->rangelow = FREQ_MIN * FREQ_MUL; |
228 | v->rangehigh = FREQ_MAX * FREQ_MUL; | 228 | v->rangehigh = FREQ_MAX * FREQ_MUL; |
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c index e7c35b184e21..ab1324f68199 100644 --- a/drivers/media/radio/radio-mr800.c +++ b/drivers/media/radio/radio-mr800.c | |||
@@ -291,7 +291,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
291 | if (retval) | 291 | if (retval) |
292 | return retval; | 292 | return retval; |
293 | 293 | ||
294 | strcpy(v->name, "FM"); | 294 | strscpy(v->name, "FM", sizeof(v->name)); |
295 | v->type = V4L2_TUNER_RADIO; | 295 | v->type = V4L2_TUNER_RADIO; |
296 | v->rangelow = FREQ_MIN * FREQ_MUL; | 296 | v->rangelow = FREQ_MIN * FREQ_MUL; |
297 | v->rangehigh = FREQ_MAX * FREQ_MUL; | 297 | v->rangehigh = FREQ_MAX * FREQ_MUL; |
diff --git a/drivers/media/radio/si470x/radio-si470x-common.c b/drivers/media/radio/si470x/radio-si470x-common.c index c40e1753f34b..1d7ab5462c77 100644 --- a/drivers/media/radio/si470x/radio-si470x-common.c +++ b/drivers/media/radio/si470x/radio-si470x-common.c | |||
@@ -622,7 +622,7 @@ static int si470x_vidioc_g_tuner(struct file *file, void *priv, | |||
622 | } | 622 | } |
623 | 623 | ||
624 | /* driver constants */ | 624 | /* driver constants */ |
625 | strcpy(tuner->name, "FM"); | 625 | strscpy(tuner->name, "FM", sizeof(tuner->name)); |
626 | tuner->type = V4L2_TUNER_RADIO; | 626 | tuner->type = V4L2_TUNER_RADIO; |
627 | tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO | | 627 | tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO | |
628 | V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO | | 628 | V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO | |
diff --git a/drivers/media/radio/wl128x/fmdrv_v4l2.c b/drivers/media/radio/wl128x/fmdrv_v4l2.c index c5f433b24713..e25fd4d4d280 100644 --- a/drivers/media/radio/wl128x/fmdrv_v4l2.c +++ b/drivers/media/radio/wl128x/fmdrv_v4l2.c | |||
@@ -249,7 +249,7 @@ static int fm_v4l2_vidioc_g_audio(struct file *file, void *priv, | |||
249 | struct v4l2_audio *audio) | 249 | struct v4l2_audio *audio) |
250 | { | 250 | { |
251 | memset(audio, 0, sizeof(*audio)); | 251 | memset(audio, 0, sizeof(*audio)); |
252 | strcpy(audio->name, "Radio"); | 252 | strscpy(audio->name, "Radio", sizeof(audio->name)); |
253 | audio->capability = V4L2_AUDCAP_STEREO; | 253 | audio->capability = V4L2_AUDCAP_STEREO; |
254 | 254 | ||
255 | return 0; | 255 | return 0; |
@@ -293,7 +293,7 @@ static int fm_v4l2_vidioc_g_tuner(struct file *file, void *priv, | |||
293 | if (ret != 0) | 293 | if (ret != 0) |
294 | return ret; | 294 | return ret; |
295 | 295 | ||
296 | strcpy(tuner->name, "FM"); | 296 | strscpy(tuner->name, "FM", sizeof(tuner->name)); |
297 | tuner->type = V4L2_TUNER_RADIO; | 297 | tuner->type = V4L2_TUNER_RADIO; |
298 | /* Store rangelow and rangehigh freq in unit of 62.5 Hz */ | 298 | /* Store rangelow and rangehigh freq in unit of 62.5 Hz */ |
299 | tuner->rangelow = bottom_freq * 16; | 299 | tuner->rangelow = bottom_freq * 16; |
diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c index aa25c19437ad..efbf210147c7 100644 --- a/drivers/media/usb/au0828/au0828-video.c +++ b/drivers/media/usb/au0828/au0828-video.c | |||
@@ -1218,7 +1218,7 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, | |||
1218 | dprintk(1, "%s called\n", __func__); | 1218 | dprintk(1, "%s called\n", __func__); |
1219 | 1219 | ||
1220 | f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 1220 | f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
1221 | strcpy(f->description, "Packed YUV2"); | 1221 | strscpy(f->description, "Packed YUV2", sizeof(f->description)); |
1222 | 1222 | ||
1223 | f->flags = 0; | 1223 | f->flags = 0; |
1224 | f->pixelformat = V4L2_PIX_FMT_UYVY; | 1224 | f->pixelformat = V4L2_PIX_FMT_UYVY; |
@@ -1349,7 +1349,7 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
1349 | return -EINVAL; | 1349 | return -EINVAL; |
1350 | 1350 | ||
1351 | input->index = tmp; | 1351 | input->index = tmp; |
1352 | strcpy(input->name, inames[AUVI_INPUT(tmp).type]); | 1352 | strscpy(input->name, inames[AUVI_INPUT(tmp).type], sizeof(input->name)); |
1353 | if ((AUVI_INPUT(tmp).type == AU0828_VMUX_TELEVISION) || | 1353 | if ((AUVI_INPUT(tmp).type == AU0828_VMUX_TELEVISION) || |
1354 | (AUVI_INPUT(tmp).type == AU0828_VMUX_CABLE)) { | 1354 | (AUVI_INPUT(tmp).type == AU0828_VMUX_CABLE)) { |
1355 | input->type |= V4L2_INPUT_TYPE_TUNER; | 1355 | input->type |= V4L2_INPUT_TYPE_TUNER; |
@@ -1465,9 +1465,9 @@ static int vidioc_enumaudio(struct file *file, void *priv, struct v4l2_audio *a) | |||
1465 | dprintk(1, "%s called\n", __func__); | 1465 | dprintk(1, "%s called\n", __func__); |
1466 | 1466 | ||
1467 | if (a->index == 0) | 1467 | if (a->index == 0) |
1468 | strcpy(a->name, "Television"); | 1468 | strscpy(a->name, "Television", sizeof(a->name)); |
1469 | else | 1469 | else |
1470 | strcpy(a->name, "Line in"); | 1470 | strscpy(a->name, "Line in", sizeof(a->name)); |
1471 | 1471 | ||
1472 | a->capability = V4L2_AUDCAP_STEREO; | 1472 | a->capability = V4L2_AUDCAP_STEREO; |
1473 | return 0; | 1473 | return 0; |
@@ -1482,9 +1482,9 @@ static int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio *a) | |||
1482 | 1482 | ||
1483 | a->index = dev->ctrl_ainput; | 1483 | a->index = dev->ctrl_ainput; |
1484 | if (a->index == 0) | 1484 | if (a->index == 0) |
1485 | strcpy(a->name, "Television"); | 1485 | strscpy(a->name, "Television", sizeof(a->name)); |
1486 | else | 1486 | else |
1487 | strcpy(a->name, "Line in"); | 1487 | strscpy(a->name, "Line in", sizeof(a->name)); |
1488 | 1488 | ||
1489 | a->capability = V4L2_AUDCAP_STEREO; | 1489 | a->capability = V4L2_AUDCAP_STEREO; |
1490 | return 0; | 1490 | return 0; |
@@ -1518,7 +1518,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) | |||
1518 | dprintk(1, "%s called std_set %d dev_state %ld\n", __func__, | 1518 | dprintk(1, "%s called std_set %d dev_state %ld\n", __func__, |
1519 | dev->std_set_in_tuner_core, dev->dev_state); | 1519 | dev->std_set_in_tuner_core, dev->dev_state); |
1520 | 1520 | ||
1521 | strcpy(t->name, "Auvitek tuner"); | 1521 | strscpy(t->name, "Auvitek tuner", sizeof(t->name)); |
1522 | 1522 | ||
1523 | au0828_init_tuner(dev); | 1523 | au0828_init_tuner(dev); |
1524 | i2c_gate_ctrl(dev, 1); | 1524 | i2c_gate_ctrl(dev, 1); |
@@ -1978,7 +1978,7 @@ int au0828_analog_register(struct au0828_dev *dev, | |||
1978 | dev->vdev.lock = &dev->lock; | 1978 | dev->vdev.lock = &dev->lock; |
1979 | dev->vdev.queue = &dev->vb_vidq; | 1979 | dev->vdev.queue = &dev->vb_vidq; |
1980 | dev->vdev.queue->lock = &dev->vb_queue_lock; | 1980 | dev->vdev.queue->lock = &dev->vb_queue_lock; |
1981 | strcpy(dev->vdev.name, "au0828a video"); | 1981 | strscpy(dev->vdev.name, "au0828a video", sizeof(dev->vdev.name)); |
1982 | 1982 | ||
1983 | /* Setup the VBI device */ | 1983 | /* Setup the VBI device */ |
1984 | dev->vbi_dev = au0828_video_template; | 1984 | dev->vbi_dev = au0828_video_template; |
@@ -1986,7 +1986,7 @@ int au0828_analog_register(struct au0828_dev *dev, | |||
1986 | dev->vbi_dev.lock = &dev->lock; | 1986 | dev->vbi_dev.lock = &dev->lock; |
1987 | dev->vbi_dev.queue = &dev->vb_vbiq; | 1987 | dev->vbi_dev.queue = &dev->vb_vbiq; |
1988 | dev->vbi_dev.queue->lock = &dev->vb_vbi_queue_lock; | 1988 | dev->vbi_dev.queue->lock = &dev->vb_vbi_queue_lock; |
1989 | strcpy(dev->vbi_dev.name, "au0828a vbi"); | 1989 | strscpy(dev->vbi_dev.name, "au0828a vbi", sizeof(dev->vbi_dev.name)); |
1990 | 1990 | ||
1991 | /* Init entities at the Media Controller */ | 1991 | /* Init entities at the Media Controller */ |
1992 | au0828_analog_create_entities(dev); | 1992 | au0828_analog_create_entities(dev); |
diff --git a/drivers/media/usb/cpia2/cpia2_v4l.c b/drivers/media/usb/cpia2/cpia2_v4l.c index 99f106b13280..aa7f3c307b22 100644 --- a/drivers/media/usb/cpia2/cpia2_v4l.c +++ b/drivers/media/usb/cpia2/cpia2_v4l.c | |||
@@ -219,12 +219,12 @@ static int cpia2_querycap(struct file *file, void *fh, struct v4l2_capability *v | |||
219 | { | 219 | { |
220 | struct camera_data *cam = video_drvdata(file); | 220 | struct camera_data *cam = video_drvdata(file); |
221 | 221 | ||
222 | strcpy(vc->driver, "cpia2"); | 222 | strscpy(vc->driver, "cpia2", sizeof(vc->driver)); |
223 | 223 | ||
224 | if (cam->params.pnp_id.product == 0x151) | 224 | if (cam->params.pnp_id.product == 0x151) |
225 | strcpy(vc->card, "QX5 Microscope"); | 225 | strscpy(vc->card, "QX5 Microscope", sizeof(vc->card)); |
226 | else | 226 | else |
227 | strcpy(vc->card, "CPiA2 Camera"); | 227 | strscpy(vc->card, "CPiA2 Camera", sizeof(vc->card)); |
228 | switch (cam->params.pnp_id.device_type) { | 228 | switch (cam->params.pnp_id.device_type) { |
229 | case DEVICE_STV_672: | 229 | case DEVICE_STV_672: |
230 | strcat(vc->card, " (672/"); | 230 | strcat(vc->card, " (672/"); |
@@ -281,7 +281,7 @@ static int cpia2_enum_input(struct file *file, void *fh, struct v4l2_input *i) | |||
281 | { | 281 | { |
282 | if (i->index) | 282 | if (i->index) |
283 | return -EINVAL; | 283 | return -EINVAL; |
284 | strcpy(i->name, "Camera"); | 284 | strscpy(i->name, "Camera", sizeof(i->name)); |
285 | i->type = V4L2_INPUT_TYPE_CAMERA; | 285 | i->type = V4L2_INPUT_TYPE_CAMERA; |
286 | return 0; | 286 | return 0; |
287 | } | 287 | } |
@@ -319,11 +319,11 @@ static int cpia2_enum_fmt_vid_cap(struct file *file, void *fh, | |||
319 | f->flags = V4L2_FMT_FLAG_COMPRESSED; | 319 | f->flags = V4L2_FMT_FLAG_COMPRESSED; |
320 | switch(index) { | 320 | switch(index) { |
321 | case 0: | 321 | case 0: |
322 | strcpy(f->description, "MJPEG"); | 322 | strscpy(f->description, "MJPEG", sizeof(f->description)); |
323 | f->pixelformat = V4L2_PIX_FMT_MJPEG; | 323 | f->pixelformat = V4L2_PIX_FMT_MJPEG; |
324 | break; | 324 | break; |
325 | case 1: | 325 | case 1: |
326 | strcpy(f->description, "JPEG"); | 326 | strscpy(f->description, "JPEG", sizeof(f->description)); |
327 | f->pixelformat = V4L2_PIX_FMT_JPEG; | 327 | f->pixelformat = V4L2_PIX_FMT_JPEG; |
328 | break; | 328 | break; |
329 | default: | 329 | default: |
diff --git a/drivers/media/usb/cx231xx/cx231xx-audio.c b/drivers/media/usb/cx231xx/cx231xx-audio.c index 32ee7b3f21c9..77f2c65eb79a 100644 --- a/drivers/media/usb/cx231xx/cx231xx-audio.c +++ b/drivers/media/usb/cx231xx/cx231xx-audio.c | |||
@@ -679,10 +679,10 @@ static int cx231xx_audio_init(struct cx231xx *dev) | |||
679 | &snd_cx231xx_pcm_capture); | 679 | &snd_cx231xx_pcm_capture); |
680 | pcm->info_flags = 0; | 680 | pcm->info_flags = 0; |
681 | pcm->private_data = dev; | 681 | pcm->private_data = dev; |
682 | strcpy(pcm->name, "Conexant cx231xx Capture"); | 682 | strscpy(pcm->name, "Conexant cx231xx Capture", sizeof(pcm->name)); |
683 | strcpy(card->driver, "Cx231xx-Audio"); | 683 | strscpy(card->driver, "Cx231xx-Audio", sizeof(card->driver)); |
684 | strcpy(card->shortname, "Cx231xx Audio"); | 684 | strscpy(card->shortname, "Cx231xx Audio", sizeof(card->shortname)); |
685 | strcpy(card->longname, "Conexant cx231xx Audio"); | 685 | strscpy(card->longname, "Conexant cx231xx Audio", sizeof(card->longname)); |
686 | 686 | ||
687 | INIT_WORK(&dev->wq_trigger, audio_trigger); | 687 | INIT_WORK(&dev->wq_trigger, audio_trigger); |
688 | 688 | ||
diff --git a/drivers/media/usb/cx231xx/cx231xx-video.c b/drivers/media/usb/cx231xx/cx231xx-video.c index 7759bc66f18c..29160df76cf7 100644 --- a/drivers/media/usb/cx231xx/cx231xx-video.c +++ b/drivers/media/usb/cx231xx/cx231xx-video.c | |||
@@ -1169,7 +1169,7 @@ int cx231xx_enum_input(struct file *file, void *priv, | |||
1169 | i->index = n; | 1169 | i->index = n; |
1170 | i->type = V4L2_INPUT_TYPE_CAMERA; | 1170 | i->type = V4L2_INPUT_TYPE_CAMERA; |
1171 | 1171 | ||
1172 | strcpy(i->name, iname[INPUT(n)->type]); | 1172 | strscpy(i->name, iname[INPUT(n)->type], sizeof(i->name)); |
1173 | 1173 | ||
1174 | if ((CX231XX_VMUX_TELEVISION == INPUT(n)->type) || | 1174 | if ((CX231XX_VMUX_TELEVISION == INPUT(n)->type) || |
1175 | (CX231XX_VMUX_CABLE == INPUT(n)->type)) | 1175 | (CX231XX_VMUX_CABLE == INPUT(n)->type)) |
@@ -1244,7 +1244,7 @@ int cx231xx_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) | |||
1244 | if (0 != t->index) | 1244 | if (0 != t->index) |
1245 | return -EINVAL; | 1245 | return -EINVAL; |
1246 | 1246 | ||
1247 | strcpy(t->name, "Tuner"); | 1247 | strscpy(t->name, "Tuner", sizeof(t->name)); |
1248 | 1248 | ||
1249 | t->type = V4L2_TUNER_ANALOG_TV; | 1249 | t->type = V4L2_TUNER_ANALOG_TV; |
1250 | t->capability = V4L2_TUNER_CAP_NORM; | 1250 | t->capability = V4L2_TUNER_CAP_NORM; |
@@ -1716,7 +1716,7 @@ static int radio_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t) | |||
1716 | if (t->index) | 1716 | if (t->index) |
1717 | return -EINVAL; | 1717 | return -EINVAL; |
1718 | 1718 | ||
1719 | strcpy(t->name, "Radio"); | 1719 | strscpy(t->name, "Radio", sizeof(t->name)); |
1720 | 1720 | ||
1721 | call_all(dev, tuner, g_tuner, t); | 1721 | call_all(dev, tuner, g_tuner, t); |
1722 | 1722 | ||
@@ -2242,7 +2242,8 @@ int cx231xx_register_analog_devices(struct cx231xx *dev) | |||
2242 | 2242 | ||
2243 | /* Initialize VBI template */ | 2243 | /* Initialize VBI template */ |
2244 | cx231xx_vbi_template = cx231xx_video_template; | 2244 | cx231xx_vbi_template = cx231xx_video_template; |
2245 | strcpy(cx231xx_vbi_template.name, "cx231xx-vbi"); | 2245 | strscpy(cx231xx_vbi_template.name, "cx231xx-vbi", |
2246 | sizeof(cx231xx_vbi_template.name)); | ||
2246 | 2247 | ||
2247 | /* Allocate and fill vbi video_device struct */ | 2248 | /* Allocate and fill vbi video_device struct */ |
2248 | cx231xx_vdev_init(dev, &dev->vbi_dev, &cx231xx_vbi_template, "vbi"); | 2249 | cx231xx_vdev_init(dev, &dev->vbi_dev, &cx231xx_vbi_template, "vbi"); |
diff --git a/drivers/media/usb/em28xx/em28xx-audio.c b/drivers/media/usb/em28xx/em28xx-audio.c index 8e799ae1df69..d5e2c19f600d 100644 --- a/drivers/media/usb/em28xx/em28xx-audio.c +++ b/drivers/media/usb/em28xx/em28xx-audio.c | |||
@@ -938,11 +938,11 @@ static int em28xx_audio_init(struct em28xx *dev) | |||
938 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_em28xx_pcm_capture); | 938 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_em28xx_pcm_capture); |
939 | pcm->info_flags = 0; | 939 | pcm->info_flags = 0; |
940 | pcm->private_data = dev; | 940 | pcm->private_data = dev; |
941 | strcpy(pcm->name, "Empia 28xx Capture"); | 941 | strscpy(pcm->name, "Empia 28xx Capture", sizeof(pcm->name)); |
942 | 942 | ||
943 | strcpy(card->driver, "Em28xx-Audio"); | 943 | strscpy(card->driver, "Em28xx-Audio", sizeof(card->driver)); |
944 | strcpy(card->shortname, "Em28xx Audio"); | 944 | strscpy(card->shortname, "Em28xx Audio", sizeof(card->shortname)); |
945 | strcpy(card->longname, "Empia Em28xx Audio"); | 945 | strscpy(card->longname, "Empia Em28xx Audio", sizeof(card->longname)); |
946 | 946 | ||
947 | INIT_WORK(&adev->wq_trigger, audio_trigger); | 947 | INIT_WORK(&adev->wq_trigger, audio_trigger); |
948 | 948 | ||
diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c index e19d6342e0d0..02c13d71e6c1 100644 --- a/drivers/media/usb/em28xx/em28xx-i2c.c +++ b/drivers/media/usb/em28xx/em28xx-i2c.c | |||
@@ -985,7 +985,8 @@ int em28xx_i2c_register(struct em28xx *dev, unsigned int bus, | |||
985 | 985 | ||
986 | dev->i2c_adap[bus] = em28xx_adap_template; | 986 | dev->i2c_adap[bus] = em28xx_adap_template; |
987 | dev->i2c_adap[bus].dev.parent = &dev->intf->dev; | 987 | dev->i2c_adap[bus].dev.parent = &dev->intf->dev; |
988 | strcpy(dev->i2c_adap[bus].name, dev_name(&dev->intf->dev)); | 988 | strscpy(dev->i2c_adap[bus].name, dev_name(&dev->intf->dev), |
989 | sizeof(dev->i2c_adap[bus].name)); | ||
989 | 990 | ||
990 | dev->i2c_bus[bus].bus = bus; | 991 | dev->i2c_bus[bus].bus = bus; |
991 | dev->i2c_bus[bus].algo_type = algo_type; | 992 | dev->i2c_bus[bus].algo_type = algo_type; |
diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c index 5e8a26fa719a..917602954bfb 100644 --- a/drivers/media/usb/em28xx/em28xx-video.c +++ b/drivers/media/usb/em28xx/em28xx-video.c | |||
@@ -1675,7 +1675,7 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
1675 | 1675 | ||
1676 | i->type = V4L2_INPUT_TYPE_CAMERA; | 1676 | i->type = V4L2_INPUT_TYPE_CAMERA; |
1677 | 1677 | ||
1678 | strcpy(i->name, iname[INPUT(n)->type]); | 1678 | strscpy(i->name, iname[INPUT(n)->type], sizeof(i->name)); |
1679 | 1679 | ||
1680 | if (INPUT(n)->type == EM28XX_VMUX_TELEVISION) | 1680 | if (INPUT(n)->type == EM28XX_VMUX_TELEVISION) |
1681 | i->type = V4L2_INPUT_TYPE_TUNER; | 1681 | i->type = V4L2_INPUT_TYPE_TUNER; |
@@ -1716,28 +1716,28 @@ static int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio *a) | |||
1716 | 1716 | ||
1717 | switch (a->index) { | 1717 | switch (a->index) { |
1718 | case EM28XX_AMUX_VIDEO: | 1718 | case EM28XX_AMUX_VIDEO: |
1719 | strcpy(a->name, "Television"); | 1719 | strscpy(a->name, "Television", sizeof(a->name)); |
1720 | break; | 1720 | break; |
1721 | case EM28XX_AMUX_LINE_IN: | 1721 | case EM28XX_AMUX_LINE_IN: |
1722 | strcpy(a->name, "Line In"); | 1722 | strscpy(a->name, "Line In", sizeof(a->name)); |
1723 | break; | 1723 | break; |
1724 | case EM28XX_AMUX_VIDEO2: | 1724 | case EM28XX_AMUX_VIDEO2: |
1725 | strcpy(a->name, "Television alt"); | 1725 | strscpy(a->name, "Television alt", sizeof(a->name)); |
1726 | break; | 1726 | break; |
1727 | case EM28XX_AMUX_PHONE: | 1727 | case EM28XX_AMUX_PHONE: |
1728 | strcpy(a->name, "Phone"); | 1728 | strscpy(a->name, "Phone", sizeof(a->name)); |
1729 | break; | 1729 | break; |
1730 | case EM28XX_AMUX_MIC: | 1730 | case EM28XX_AMUX_MIC: |
1731 | strcpy(a->name, "Mic"); | 1731 | strscpy(a->name, "Mic", sizeof(a->name)); |
1732 | break; | 1732 | break; |
1733 | case EM28XX_AMUX_CD: | 1733 | case EM28XX_AMUX_CD: |
1734 | strcpy(a->name, "CD"); | 1734 | strscpy(a->name, "CD", sizeof(a->name)); |
1735 | break; | 1735 | break; |
1736 | case EM28XX_AMUX_AUX: | 1736 | case EM28XX_AMUX_AUX: |
1737 | strcpy(a->name, "Aux"); | 1737 | strscpy(a->name, "Aux", sizeof(a->name)); |
1738 | break; | 1738 | break; |
1739 | case EM28XX_AMUX_PCM_OUT: | 1739 | case EM28XX_AMUX_PCM_OUT: |
1740 | strcpy(a->name, "PCM"); | 1740 | strscpy(a->name, "PCM", sizeof(a->name)); |
1741 | break; | 1741 | break; |
1742 | default: | 1742 | default: |
1743 | return -EINVAL; | 1743 | return -EINVAL; |
@@ -1776,7 +1776,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
1776 | if (t->index != 0) | 1776 | if (t->index != 0) |
1777 | return -EINVAL; | 1777 | return -EINVAL; |
1778 | 1778 | ||
1779 | strcpy(t->name, "Tuner"); | 1779 | strscpy(t->name, "Tuner", sizeof(t->name)); |
1780 | 1780 | ||
1781 | v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); | 1781 | v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); |
1782 | return 0; | 1782 | return 0; |
@@ -2045,7 +2045,7 @@ static int radio_g_tuner(struct file *file, void *priv, | |||
2045 | if (unlikely(t->index > 0)) | 2045 | if (unlikely(t->index > 0)) |
2046 | return -EINVAL; | 2046 | return -EINVAL; |
2047 | 2047 | ||
2048 | strcpy(t->name, "Radio"); | 2048 | strscpy(t->name, "Radio", sizeof(t->name)); |
2049 | 2049 | ||
2050 | v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); | 2050 | v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); |
2051 | 2051 | ||
diff --git a/drivers/media/usb/hdpvr/hdpvr-video.c b/drivers/media/usb/hdpvr/hdpvr-video.c index 9ab071f8993d..e082086428a4 100644 --- a/drivers/media/usb/hdpvr/hdpvr-video.c +++ b/drivers/media/usb/hdpvr/hdpvr-video.c | |||
@@ -578,8 +578,8 @@ static int vidioc_querycap(struct file *file, void *priv, | |||
578 | { | 578 | { |
579 | struct hdpvr_device *dev = video_drvdata(file); | 579 | struct hdpvr_device *dev = video_drvdata(file); |
580 | 580 | ||
581 | strcpy(cap->driver, "hdpvr"); | 581 | strscpy(cap->driver, "hdpvr", sizeof(cap->driver)); |
582 | strcpy(cap->card, "Hauppauge HD PVR"); | 582 | strscpy(cap->card, "Hauppauge HD PVR", sizeof(cap->card)); |
583 | usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); | 583 | usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); |
584 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_AUDIO | | 584 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_AUDIO | |
585 | V4L2_CAP_READWRITE; | 585 | V4L2_CAP_READWRITE; |
@@ -1238,7 +1238,8 @@ int hdpvr_register_videodev(struct hdpvr_device *dev, struct device *parent, | |||
1238 | 1238 | ||
1239 | /* setup and register video device */ | 1239 | /* setup and register video device */ |
1240 | dev->video_dev = hdpvr_video_template; | 1240 | dev->video_dev = hdpvr_video_template; |
1241 | strcpy(dev->video_dev.name, "Hauppauge HD PVR"); | 1241 | strscpy(dev->video_dev.name, "Hauppauge HD PVR", |
1242 | sizeof(dev->video_dev.name)); | ||
1242 | dev->video_dev.v4l2_dev = &dev->v4l2_dev; | 1243 | dev->video_dev.v4l2_dev = &dev->v4l2_dev; |
1243 | video_set_drvdata(&dev->video_dev, dev); | 1244 | video_set_drvdata(&dev->video_dev, dev); |
1244 | 1245 | ||
diff --git a/drivers/media/usb/pulse8-cec/pulse8-cec.c b/drivers/media/usb/pulse8-cec/pulse8-cec.c index 350635826aae..365c78b748dd 100644 --- a/drivers/media/usb/pulse8-cec/pulse8-cec.c +++ b/drivers/media/usb/pulse8-cec/pulse8-cec.c | |||
@@ -571,7 +571,8 @@ static int pulse8_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr) | |||
571 | memset(osd_str + osd_len, ' ', 4 - osd_len); | 571 | memset(osd_str + osd_len, ' ', 4 - osd_len); |
572 | osd_len = 4; | 572 | osd_len = 4; |
573 | osd_str[osd_len] = '\0'; | 573 | osd_str[osd_len] = '\0'; |
574 | strcpy(adap->log_addrs.osd_name, osd_str); | 574 | strscpy(adap->log_addrs.osd_name, osd_str, |
575 | sizeof(adap->log_addrs.osd_name)); | ||
575 | } | 576 | } |
576 | err = pulse8_send_and_wait(pulse8, cmd, 1 + osd_len, | 577 | err = pulse8_send_and_wait(pulse8, cmd, 1 + osd_len, |
577 | MSGCODE_COMMAND_ACCEPTED, 0); | 578 | MSGCODE_COMMAND_ACCEPTED, 0); |
diff --git a/drivers/media/usb/pwc/pwc-if.c b/drivers/media/usb/pwc/pwc-if.c index 54b036d39c5b..72704f4d5330 100644 --- a/drivers/media/usb/pwc/pwc-if.c +++ b/drivers/media/usb/pwc/pwc-if.c | |||
@@ -1027,7 +1027,7 @@ static int usb_pwc_probe(struct usb_interface *intf, const struct usb_device_id | |||
1027 | 1027 | ||
1028 | /* Init video_device structure */ | 1028 | /* Init video_device structure */ |
1029 | pdev->vdev = pwc_template; | 1029 | pdev->vdev = pwc_template; |
1030 | strcpy(pdev->vdev.name, name); | 1030 | strscpy(pdev->vdev.name, name, sizeof(pdev->vdev.name)); |
1031 | pdev->vdev.queue = &pdev->vb_queue; | 1031 | pdev->vdev.queue = &pdev->vb_queue; |
1032 | pdev->vdev.queue->lock = &pdev->vb_queue_lock; | 1032 | pdev->vdev.queue->lock = &pdev->vb_queue_lock; |
1033 | video_set_drvdata(&pdev->vdev, pdev); | 1033 | video_set_drvdata(&pdev->vdev, pdev); |
diff --git a/drivers/media/usb/pwc/pwc-v4l.c b/drivers/media/usb/pwc/pwc-v4l.c index 0673238c2c63..bef6e4ef8a7e 100644 --- a/drivers/media/usb/pwc/pwc-v4l.c +++ b/drivers/media/usb/pwc/pwc-v4l.c | |||
@@ -492,7 +492,7 @@ static int pwc_querycap(struct file *file, void *fh, struct v4l2_capability *cap | |||
492 | { | 492 | { |
493 | struct pwc_device *pdev = video_drvdata(file); | 493 | struct pwc_device *pdev = video_drvdata(file); |
494 | 494 | ||
495 | strcpy(cap->driver, PWC_NAME); | 495 | strscpy(cap->driver, PWC_NAME, sizeof(cap->driver)); |
496 | strscpy(cap->card, pdev->vdev.name, sizeof(cap->card)); | 496 | strscpy(cap->card, pdev->vdev.name, sizeof(cap->card)); |
497 | usb_make_path(pdev->udev, cap->bus_info, sizeof(cap->bus_info)); | 497 | usb_make_path(pdev->udev, cap->bus_info, sizeof(cap->bus_info)); |
498 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING | | 498 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING | |
diff --git a/drivers/media/usb/rainshadow-cec/rainshadow-cec.c b/drivers/media/usb/rainshadow-cec/rainshadow-cec.c index cecdcbcd400c..d9964da05976 100644 --- a/drivers/media/usb/rainshadow-cec/rainshadow-cec.c +++ b/drivers/media/usb/rainshadow-cec/rainshadow-cec.c | |||
@@ -141,7 +141,8 @@ static void rain_irq_work_handler(struct work_struct *work) | |||
141 | !memcmp(rain->cmd, "STA", 3)) { | 141 | !memcmp(rain->cmd, "STA", 3)) { |
142 | rain_process_msg(rain); | 142 | rain_process_msg(rain); |
143 | } else { | 143 | } else { |
144 | strcpy(rain->cmd_reply, rain->cmd); | 144 | strscpy(rain->cmd_reply, rain->cmd, |
145 | sizeof(rain->cmd_reply)); | ||
145 | complete(&rain->cmd_done); | 146 | complete(&rain->cmd_done); |
146 | } | 147 | } |
147 | rain->cmd_idx = 0; | 148 | rain->cmd_idx = 0; |
diff --git a/drivers/media/usb/stk1160/stk1160-i2c.c b/drivers/media/usb/stk1160/stk1160-i2c.c index 62a12d5356ad..c3a15564e5cb 100644 --- a/drivers/media/usb/stk1160/stk1160-i2c.c +++ b/drivers/media/usb/stk1160/stk1160-i2c.c | |||
@@ -260,7 +260,7 @@ int stk1160_i2c_register(struct stk1160 *dev) | |||
260 | 260 | ||
261 | dev->i2c_adap = adap_template; | 261 | dev->i2c_adap = adap_template; |
262 | dev->i2c_adap.dev.parent = dev->dev; | 262 | dev->i2c_adap.dev.parent = dev->dev; |
263 | strcpy(dev->i2c_adap.name, "stk1160"); | 263 | strscpy(dev->i2c_adap.name, "stk1160", sizeof(dev->i2c_adap.name)); |
264 | dev->i2c_adap.algo_data = dev; | 264 | dev->i2c_adap.algo_data = dev; |
265 | 265 | ||
266 | i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); | 266 | i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); |
diff --git a/drivers/media/usb/stk1160/stk1160-v4l.c b/drivers/media/usb/stk1160/stk1160-v4l.c index bbf191b71f38..701ed3d4afe6 100644 --- a/drivers/media/usb/stk1160/stk1160-v4l.c +++ b/drivers/media/usb/stk1160/stk1160-v4l.c | |||
@@ -344,8 +344,8 @@ static int vidioc_querycap(struct file *file, | |||
344 | { | 344 | { |
345 | struct stk1160 *dev = video_drvdata(file); | 345 | struct stk1160 *dev = video_drvdata(file); |
346 | 346 | ||
347 | strcpy(cap->driver, "stk1160"); | 347 | strscpy(cap->driver, "stk1160", sizeof(cap->driver)); |
348 | strcpy(cap->card, "stk1160"); | 348 | strscpy(cap->card, "stk1160", sizeof(cap->card)); |
349 | usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); | 349 | usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); |
350 | cap->device_caps = | 350 | cap->device_caps = |
351 | V4L2_CAP_VIDEO_CAPTURE | | 351 | V4L2_CAP_VIDEO_CAPTURE | |
diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c index 5accb5241072..e11d5d5b7c26 100644 --- a/drivers/media/usb/stkwebcam/stk-webcam.c +++ b/drivers/media/usb/stkwebcam/stk-webcam.c | |||
@@ -793,8 +793,8 @@ static int stk_vidioc_querycap(struct file *filp, | |||
793 | { | 793 | { |
794 | struct stk_camera *dev = video_drvdata(filp); | 794 | struct stk_camera *dev = video_drvdata(filp); |
795 | 795 | ||
796 | strcpy(cap->driver, "stk"); | 796 | strscpy(cap->driver, "stk", sizeof(cap->driver)); |
797 | strcpy(cap->card, "stk"); | 797 | strscpy(cap->card, "stk", sizeof(cap->card)); |
798 | usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); | 798 | usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); |
799 | 799 | ||
800 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 800 | cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
@@ -809,7 +809,7 @@ static int stk_vidioc_enum_input(struct file *filp, | |||
809 | if (input->index != 0) | 809 | if (input->index != 0) |
810 | return -EINVAL; | 810 | return -EINVAL; |
811 | 811 | ||
812 | strcpy(input->name, "Syntek USB Camera"); | 812 | strscpy(input->name, "Syntek USB Camera", sizeof(input->name)); |
813 | input->type = V4L2_INPUT_TYPE_CAMERA; | 813 | input->type = V4L2_INPUT_TYPE_CAMERA; |
814 | return 0; | 814 | return 0; |
815 | } | 815 | } |
@@ -859,23 +859,23 @@ static int stk_vidioc_enum_fmt_vid_cap(struct file *filp, | |||
859 | switch (fmtd->index) { | 859 | switch (fmtd->index) { |
860 | case 0: | 860 | case 0: |
861 | fmtd->pixelformat = V4L2_PIX_FMT_RGB565; | 861 | fmtd->pixelformat = V4L2_PIX_FMT_RGB565; |
862 | strcpy(fmtd->description, "r5g6b5"); | 862 | strscpy(fmtd->description, "r5g6b5", sizeof(fmtd->description)); |
863 | break; | 863 | break; |
864 | case 1: | 864 | case 1: |
865 | fmtd->pixelformat = V4L2_PIX_FMT_RGB565X; | 865 | fmtd->pixelformat = V4L2_PIX_FMT_RGB565X; |
866 | strcpy(fmtd->description, "r5g6b5BE"); | 866 | strscpy(fmtd->description, "r5g6b5BE", sizeof(fmtd->description)); |
867 | break; | 867 | break; |
868 | case 2: | 868 | case 2: |
869 | fmtd->pixelformat = V4L2_PIX_FMT_UYVY; | 869 | fmtd->pixelformat = V4L2_PIX_FMT_UYVY; |
870 | strcpy(fmtd->description, "yuv4:2:2"); | 870 | strscpy(fmtd->description, "yuv4:2:2", sizeof(fmtd->description)); |
871 | break; | 871 | break; |
872 | case 3: | 872 | case 3: |
873 | fmtd->pixelformat = V4L2_PIX_FMT_SBGGR8; | 873 | fmtd->pixelformat = V4L2_PIX_FMT_SBGGR8; |
874 | strcpy(fmtd->description, "Raw bayer"); | 874 | strscpy(fmtd->description, "Raw bayer", sizeof(fmtd->description)); |
875 | break; | 875 | break; |
876 | case 4: | 876 | case 4: |
877 | fmtd->pixelformat = V4L2_PIX_FMT_YUYV; | 877 | fmtd->pixelformat = V4L2_PIX_FMT_YUYV; |
878 | strcpy(fmtd->description, "yuv4:2:2"); | 878 | strscpy(fmtd->description, "yuv4:2:2", sizeof(fmtd->description)); |
879 | break; | 879 | break; |
880 | default: | 880 | default: |
881 | return -EINVAL; | 881 | return -EINVAL; |
diff --git a/drivers/media/usb/tm6000/tm6000-alsa.c b/drivers/media/usb/tm6000/tm6000-alsa.c index f18cffae4c85..b965931793b5 100644 --- a/drivers/media/usb/tm6000/tm6000-alsa.c +++ b/drivers/media/usb/tm6000/tm6000-alsa.c | |||
@@ -429,8 +429,8 @@ static int tm6000_audio_init(struct tm6000_core *dev) | |||
429 | snd_printk(KERN_ERR "cannot create card instance %d\n", devnr); | 429 | snd_printk(KERN_ERR "cannot create card instance %d\n", devnr); |
430 | return rc; | 430 | return rc; |
431 | } | 431 | } |
432 | strcpy(card->driver, "tm6000-alsa"); | 432 | strscpy(card->driver, "tm6000-alsa", sizeof(card->driver)); |
433 | strcpy(card->shortname, "TM5600/60x0"); | 433 | strscpy(card->shortname, "TM5600/60x0", sizeof(card->shortname)); |
434 | sprintf(card->longname, "TM5600/60x0 Audio at bus %d device %d", | 434 | sprintf(card->longname, "TM5600/60x0 Audio at bus %d device %d", |
435 | dev->udev->bus->busnum, dev->udev->devnum); | 435 | dev->udev->bus->busnum, dev->udev->devnum); |
436 | 436 | ||
@@ -456,7 +456,7 @@ static int tm6000_audio_init(struct tm6000_core *dev) | |||
456 | 456 | ||
457 | pcm->info_flags = 0; | 457 | pcm->info_flags = 0; |
458 | pcm->private_data = chip; | 458 | pcm->private_data = chip; |
459 | strcpy(pcm->name, "Trident TM5600/60x0"); | 459 | strscpy(pcm->name, "Trident TM5600/60x0", sizeof(pcm->name)); |
460 | 460 | ||
461 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_tm6000_pcm_ops); | 461 | snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_tm6000_pcm_ops); |
462 | 462 | ||
diff --git a/drivers/media/usb/tm6000/tm6000-video.c b/drivers/media/usb/tm6000/tm6000-video.c index f3082bd44ce6..49d7eb0c4cbf 100644 --- a/drivers/media/usb/tm6000/tm6000-video.c +++ b/drivers/media/usb/tm6000/tm6000-video.c | |||
@@ -1091,7 +1091,7 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
1091 | else | 1091 | else |
1092 | i->type = V4L2_INPUT_TYPE_CAMERA; | 1092 | i->type = V4L2_INPUT_TYPE_CAMERA; |
1093 | 1093 | ||
1094 | strcpy(i->name, iname[dev->vinput[n].type]); | 1094 | strscpy(i->name, iname[dev->vinput[n].type], sizeof(i->name)); |
1095 | 1095 | ||
1096 | i->std = TM6000_STD; | 1096 | i->std = TM6000_STD; |
1097 | 1097 | ||
@@ -1188,7 +1188,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
1188 | if (0 != t->index) | 1188 | if (0 != t->index) |
1189 | return -EINVAL; | 1189 | return -EINVAL; |
1190 | 1190 | ||
1191 | strcpy(t->name, "Television"); | 1191 | strscpy(t->name, "Television", sizeof(t->name)); |
1192 | t->type = V4L2_TUNER_ANALOG_TV; | 1192 | t->type = V4L2_TUNER_ANALOG_TV; |
1193 | t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO; | 1193 | t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO; |
1194 | t->rangehigh = 0xffffffffUL; | 1194 | t->rangehigh = 0xffffffffUL; |
@@ -1268,7 +1268,7 @@ static int radio_g_tuner(struct file *file, void *priv, | |||
1268 | return -EINVAL; | 1268 | return -EINVAL; |
1269 | 1269 | ||
1270 | memset(t, 0, sizeof(*t)); | 1270 | memset(t, 0, sizeof(*t)); |
1271 | strcpy(t->name, "Radio"); | 1271 | strscpy(t->name, "Radio", sizeof(t->name)); |
1272 | t->type = V4L2_TUNER_RADIO; | 1272 | t->type = V4L2_TUNER_RADIO; |
1273 | t->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; | 1273 | t->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; |
1274 | t->rxsubchans = V4L2_TUNER_SUB_STEREO; | 1274 | t->rxsubchans = V4L2_TUNER_SUB_STEREO; |
diff --git a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c index eed56895c2b9..6eb84cf007b4 100644 --- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c +++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c | |||
@@ -1686,7 +1686,7 @@ static int ttusb_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
1686 | 1686 | ||
1687 | /* i2c */ | 1687 | /* i2c */ |
1688 | memset(&ttusb->i2c_adap, 0, sizeof(struct i2c_adapter)); | 1688 | memset(&ttusb->i2c_adap, 0, sizeof(struct i2c_adapter)); |
1689 | strcpy(ttusb->i2c_adap.name, "TTUSB DEC"); | 1689 | strscpy(ttusb->i2c_adap.name, "TTUSB DEC", sizeof(ttusb->i2c_adap.name)); |
1690 | 1690 | ||
1691 | i2c_set_adapdata(&ttusb->i2c_adap, ttusb); | 1691 | i2c_set_adapdata(&ttusb->i2c_adap, ttusb); |
1692 | 1692 | ||
diff --git a/drivers/media/usb/usbvision/usbvision-video.c b/drivers/media/usb/usbvision/usbvision-video.c index f4e758e5f3ec..dd2ff8ed6c6a 100644 --- a/drivers/media/usb/usbvision/usbvision-video.c +++ b/drivers/media/usb/usbvision/usbvision-video.c | |||
@@ -504,9 +504,9 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
504 | switch (chan) { | 504 | switch (chan) { |
505 | case 0: | 505 | case 0: |
506 | if (usbvision_device_data[usbvision->dev_model].video_channels == 4) { | 506 | if (usbvision_device_data[usbvision->dev_model].video_channels == 4) { |
507 | strcpy(vi->name, "White Video Input"); | 507 | strscpy(vi->name, "White Video Input", sizeof(vi->name)); |
508 | } else { | 508 | } else { |
509 | strcpy(vi->name, "Television"); | 509 | strscpy(vi->name, "Television", sizeof(vi->name)); |
510 | vi->type = V4L2_INPUT_TYPE_TUNER; | 510 | vi->type = V4L2_INPUT_TYPE_TUNER; |
511 | vi->tuner = chan; | 511 | vi->tuner = chan; |
512 | vi->std = USBVISION_NORMS; | 512 | vi->std = USBVISION_NORMS; |
@@ -515,22 +515,23 @@ static int vidioc_enum_input(struct file *file, void *priv, | |||
515 | case 1: | 515 | case 1: |
516 | vi->type = V4L2_INPUT_TYPE_CAMERA; | 516 | vi->type = V4L2_INPUT_TYPE_CAMERA; |
517 | if (usbvision_device_data[usbvision->dev_model].video_channels == 4) | 517 | if (usbvision_device_data[usbvision->dev_model].video_channels == 4) |
518 | strcpy(vi->name, "Green Video Input"); | 518 | strscpy(vi->name, "Green Video Input", sizeof(vi->name)); |
519 | else | 519 | else |
520 | strcpy(vi->name, "Composite Video Input"); | 520 | strscpy(vi->name, "Composite Video Input", |
521 | sizeof(vi->name)); | ||
521 | vi->std = USBVISION_NORMS; | 522 | vi->std = USBVISION_NORMS; |
522 | break; | 523 | break; |
523 | case 2: | 524 | case 2: |
524 | vi->type = V4L2_INPUT_TYPE_CAMERA; | 525 | vi->type = V4L2_INPUT_TYPE_CAMERA; |
525 | if (usbvision_device_data[usbvision->dev_model].video_channels == 4) | 526 | if (usbvision_device_data[usbvision->dev_model].video_channels == 4) |
526 | strcpy(vi->name, "Yellow Video Input"); | 527 | strscpy(vi->name, "Yellow Video Input", sizeof(vi->name)); |
527 | else | 528 | else |
528 | strcpy(vi->name, "S-Video Input"); | 529 | strscpy(vi->name, "S-Video Input", sizeof(vi->name)); |
529 | vi->std = USBVISION_NORMS; | 530 | vi->std = USBVISION_NORMS; |
530 | break; | 531 | break; |
531 | case 3: | 532 | case 3: |
532 | vi->type = V4L2_INPUT_TYPE_CAMERA; | 533 | vi->type = V4L2_INPUT_TYPE_CAMERA; |
533 | strcpy(vi->name, "Red Video Input"); | 534 | strscpy(vi->name, "Red Video Input", sizeof(vi->name)); |
534 | vi->std = USBVISION_NORMS; | 535 | vi->std = USBVISION_NORMS; |
535 | break; | 536 | break; |
536 | } | 537 | } |
@@ -589,9 +590,9 @@ static int vidioc_g_tuner(struct file *file, void *priv, | |||
589 | if (vt->index) /* Only tuner 0 */ | 590 | if (vt->index) /* Only tuner 0 */ |
590 | return -EINVAL; | 591 | return -EINVAL; |
591 | if (vt->type == V4L2_TUNER_RADIO) | 592 | if (vt->type == V4L2_TUNER_RADIO) |
592 | strcpy(vt->name, "Radio"); | 593 | strscpy(vt->name, "Radio", sizeof(vt->name)); |
593 | else | 594 | else |
594 | strcpy(vt->name, "Television"); | 595 | strscpy(vt->name, "Television", sizeof(vt->name)); |
595 | 596 | ||
596 | /* Let clients fill in the remainder of this struct */ | 597 | /* Let clients fill in the remainder of this struct */ |
597 | call_all(usbvision, tuner, g_tuner, vt); | 598 | call_all(usbvision, tuner, g_tuner, vt); |
@@ -814,7 +815,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv, | |||
814 | { | 815 | { |
815 | if (vfd->index >= USBVISION_SUPPORTED_PALETTES - 1) | 816 | if (vfd->index >= USBVISION_SUPPORTED_PALETTES - 1) |
816 | return -EINVAL; | 817 | return -EINVAL; |
817 | strcpy(vfd->description, usbvision_v4l2_format[vfd->index].desc); | 818 | strscpy(vfd->description, usbvision_v4l2_format[vfd->index].desc, |
819 | sizeof(vfd->description)); | ||
818 | vfd->pixelformat = usbvision_v4l2_format[vfd->index].format; | 820 | vfd->pixelformat = usbvision_v4l2_format[vfd->index].format; |
819 | return 0; | 821 | return 0; |
820 | } | 822 | } |
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c index 3aa809af5ea7..bc369a0934a3 100644 --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c | |||
@@ -2132,7 +2132,7 @@ static int uvc_probe(struct usb_interface *intf, | |||
2132 | if (udev->serial) | 2132 | if (udev->serial) |
2133 | strscpy(dev->mdev.serial, udev->serial, | 2133 | strscpy(dev->mdev.serial, udev->serial, |
2134 | sizeof(dev->mdev.serial)); | 2134 | sizeof(dev->mdev.serial)); |
2135 | strcpy(dev->mdev.bus_info, udev->devpath); | 2135 | strscpy(dev->mdev.bus_info, udev->devpath, sizeof(dev->mdev.bus_info)); |
2136 | dev->mdev.hw_revision = le16_to_cpu(udev->descriptor.bcdDevice); | 2136 | dev->mdev.hw_revision = le16_to_cpu(udev->descriptor.bcdDevice); |
2137 | media_device_init(&dev->mdev); | 2137 | media_device_init(&dev->mdev); |
2138 | 2138 | ||
diff --git a/drivers/media/usb/zr364xx/zr364xx.c b/drivers/media/usb/zr364xx/zr364xx.c index 0ba98583c736..ab35554cbffa 100644 --- a/drivers/media/usb/zr364xx/zr364xx.c +++ b/drivers/media/usb/zr364xx/zr364xx.c | |||
@@ -719,7 +719,7 @@ static int zr364xx_vidioc_enum_input(struct file *file, void *priv, | |||
719 | { | 719 | { |
720 | if (i->index != 0) | 720 | if (i->index != 0) |
721 | return -EINVAL; | 721 | return -EINVAL; |
722 | strcpy(i->name, DRIVER_DESC " Camera"); | 722 | strscpy(i->name, DRIVER_DESC " Camera", sizeof(i->name)); |
723 | i->type = V4L2_INPUT_TYPE_CAMERA; | 723 | i->type = V4L2_INPUT_TYPE_CAMERA; |
724 | return 0; | 724 | return 0; |
725 | } | 725 | } |
@@ -765,7 +765,7 @@ static int zr364xx_vidioc_enum_fmt_vid_cap(struct file *file, | |||
765 | if (f->index > 0) | 765 | if (f->index > 0) |
766 | return -EINVAL; | 766 | return -EINVAL; |
767 | f->flags = V4L2_FMT_FLAG_COMPRESSED; | 767 | f->flags = V4L2_FMT_FLAG_COMPRESSED; |
768 | strcpy(f->description, formats[0].name); | 768 | strscpy(f->description, formats[0].name, sizeof(f->description)); |
769 | f->pixelformat = formats[0].fourcc; | 769 | f->pixelformat = formats[0].fourcc; |
770 | return 0; | 770 | return 0; |
771 | } | 771 | } |
diff --git a/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c b/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c index e55c815b9b65..bdf6ee5ad96c 100644 --- a/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c +++ b/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c | |||
@@ -639,7 +639,8 @@ static int vpfe_probe(struct platform_device *pdev) | |||
639 | goto probe_disable_clock; | 639 | goto probe_disable_clock; |
640 | 640 | ||
641 | vpfe_dev->media_dev.dev = vpfe_dev->pdev; | 641 | vpfe_dev->media_dev.dev = vpfe_dev->pdev; |
642 | strcpy((char *)&vpfe_dev->media_dev.model, "davinci-media"); | 642 | strscpy((char *)&vpfe_dev->media_dev.model, "davinci-media", |
643 | sizeof(vpfe_dev->media_dev.model)); | ||
643 | 644 | ||
644 | ret = media_device_register(&vpfe_dev->media_dev); | 645 | ret = media_device_register(&vpfe_dev->media_dev); |
645 | if (ret) { | 646 | if (ret) { |
diff --git a/drivers/staging/media/imx/imx6-mipi-csi2.c b/drivers/staging/media/imx/imx6-mipi-csi2.c index ceeeb3069a02..7b457a4b7df5 100644 --- a/drivers/staging/media/imx/imx6-mipi-csi2.c +++ b/drivers/staging/media/imx/imx6-mipi-csi2.c | |||
@@ -597,7 +597,7 @@ static int csi2_probe(struct platform_device *pdev) | |||
597 | csi2->sd.dev = &pdev->dev; | 597 | csi2->sd.dev = &pdev->dev; |
598 | csi2->sd.owner = THIS_MODULE; | 598 | csi2->sd.owner = THIS_MODULE; |
599 | csi2->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE; | 599 | csi2->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE; |
600 | strcpy(csi2->sd.name, DEVICE_NAME); | 600 | strscpy(csi2->sd.name, DEVICE_NAME, sizeof(csi2->sd.name)); |
601 | csi2->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE; | 601 | csi2->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE; |
602 | csi2->sd.grp_id = IMX_MEDIA_GRP_ID_CSI2; | 602 | csi2->sd.grp_id = IMX_MEDIA_GRP_ID_CSI2; |
603 | 603 | ||
diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c index e69a43ae74c2..94dadbba7cd5 100644 --- a/drivers/staging/media/zoran/zoran_card.c +++ b/drivers/staging/media/zoran/zoran_card.c | |||
@@ -1048,7 +1048,7 @@ static int zr36057_init (struct zoran *zr) | |||
1048 | *zr->video_dev = zoran_template; | 1048 | *zr->video_dev = zoran_template; |
1049 | zr->video_dev->v4l2_dev = &zr->v4l2_dev; | 1049 | zr->video_dev->v4l2_dev = &zr->v4l2_dev; |
1050 | zr->video_dev->lock = &zr->lock; | 1050 | zr->video_dev->lock = &zr->lock; |
1051 | strcpy(zr->video_dev->name, ZR_DEVNAME(zr)); | 1051 | strscpy(zr->video_dev->name, ZR_DEVNAME(zr), sizeof(zr->video_dev->name)); |
1052 | /* It's not a mem2mem device, but you can both capture and output from | 1052 | /* It's not a mem2mem device, but you can both capture and output from |
1053 | one and the same device. This should really be split up into two | 1053 | one and the same device. This should really be split up into two |
1054 | device nodes, but that's a job for another day. */ | 1054 | device nodes, but that's a job for another day. */ |