media: use strscpy() instead of strlcpy()
The implementation of strscpy() is more robust and safer. That's now the recommended way to copy NUL terminated strings. Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
@@ -71,8 +71,8 @@ static int vimc_cap_querycap(struct file *file, void *priv,
|
||||
{
|
||||
struct vimc_cap_device *vcap = video_drvdata(file);
|
||||
|
||||
strlcpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver));
|
||||
strlcpy(cap->card, KBUILD_MODNAME, sizeof(cap->card));
|
||||
strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver));
|
||||
strscpy(cap->card, KBUILD_MODNAME, sizeof(cap->card));
|
||||
snprintf(cap->bus_info, sizeof(cap->bus_info),
|
||||
"platform:%s", vcap->vdev.v4l2_dev->name);
|
||||
|
||||
@@ -476,7 +476,7 @@ static int vimc_cap_comp_bind(struct device *comp, struct device *master,
|
||||
vdev->queue = q;
|
||||
vdev->v4l2_dev = v4l2_dev;
|
||||
vdev->vfl_dir = VFL_DIR_RX;
|
||||
strlcpy(vdev->name, pdata->entity_name, sizeof(vdev->name));
|
||||
strscpy(vdev->name, pdata->entity_name, sizeof(vdev->name));
|
||||
video_set_drvdata(vdev, &vcap->ved);
|
||||
|
||||
/* Register the video_device with the v4l2 and the media framework */
|
||||
|
@@ -430,7 +430,7 @@ int vimc_ent_sd_register(struct vimc_ent_device *ved,
|
||||
sd->entity.function = function;
|
||||
sd->entity.ops = &vimc_ent_sd_mops;
|
||||
sd->owner = THIS_MODULE;
|
||||
strlcpy(sd->name, name, sizeof(sd->name));
|
||||
strscpy(sd->name, name, sizeof(sd->name));
|
||||
v4l2_set_subdevdata(sd, ved);
|
||||
|
||||
/* Expose this subdev to user space */
|
||||
|
@@ -259,7 +259,7 @@ static struct component_match *vimc_add_subdevs(struct vimc_device *vimc)
|
||||
dev_dbg(&vimc->pdev.dev, "new pdev for %s\n",
|
||||
vimc->pipe_cfg->ents[i].drv);
|
||||
|
||||
strlcpy(pdata.entity_name, vimc->pipe_cfg->ents[i].name,
|
||||
strscpy(pdata.entity_name, vimc->pipe_cfg->ents[i].name,
|
||||
sizeof(pdata.entity_name));
|
||||
|
||||
vimc->subdevs[i] = platform_device_register_data(&vimc->pdev.dev,
|
||||
@@ -317,7 +317,7 @@ static int vimc_probe(struct platform_device *pdev)
|
||||
vimc->v4l2_dev.mdev = &vimc->mdev;
|
||||
|
||||
/* Initialize media device */
|
||||
strlcpy(vimc->mdev.model, VIMC_MDEV_MODEL_NAME,
|
||||
strscpy(vimc->mdev.model, VIMC_MDEV_MODEL_NAME,
|
||||
sizeof(vimc->mdev.model));
|
||||
vimc->mdev.dev = &pdev->dev;
|
||||
media_device_init(&vimc->mdev);
|
||||
|
Reference in New Issue
Block a user