Skip to content

Commit 48b532b

Browse files
committed
media: atomisp: use strscpy() instead of less secure variants
Replace usages of strcpy(), strlcpy() and strncpy() in favor of strscpy(). Suggested-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
1 parent baf768c commit 48b532b

File tree

8 files changed

+15
-16
lines changed

8 files changed

+15
-16
lines changed

drivers/staging/media/atomisp/pci/atomisp_file.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ int atomisp_file_input_init(struct atomisp_device *isp)
219219

220220
v4l2_subdev_init(sd, &file_input_ops);
221221
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
222-
strcpy(sd->name, "file_input_subdev");
222+
strscpy(sd->name, "file_input_subdev", sizeof(sd->name));
223223
v4l2_set_subdevdata(sd, file_dev);
224224

225225
pads[0].flags = MEDIA_PAD_FL_SINK;

drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -936,7 +936,7 @@ static int gmin_get_hardcoded_var(struct gmin_cfg_var *varlist,
936936
if (vl > *out_len - 1)
937937
return -ENOSPC;
938938

939-
strcpy(out, gv->val);
939+
strscpy(out, gv->val, *out_len);
940940
*out_len = vl;
941941
return 0;
942942
}

drivers/staging/media/atomisp/pci/atomisp_ioctl.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -547,8 +547,8 @@ static int atomisp_querycap(struct file *file, void *fh,
547547
struct video_device *vdev = video_devdata(file);
548548
struct atomisp_device *isp = video_get_drvdata(vdev);
549549

550-
strscpy(cap->driver, DRIVER, sizeof(cap->driver) - 1);
551-
strscpy(cap->card, CARD, sizeof(cap->card) - 1);
550+
strscpy(cap->driver, DRIVER, sizeof(cap->driver));
551+
strscpy(cap->card, CARD, sizeof(cap->card));
552552
snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
553553
pci_name(isp->pdev));
554554

@@ -573,8 +573,8 @@ static int atomisp_enum_input(struct file *file, void *fh,
573573
return -EINVAL;
574574

575575
memset(input, 0, sizeof(struct v4l2_input));
576-
strncpy(input->name, isp->inputs[index].camera->name,
577-
sizeof(input->name) - 1);
576+
strscpy(input->name, isp->inputs[index].camera->name,
577+
sizeof(input->name));
578578

579579
/*
580580
* HACK: append actuator's name to sensor's
@@ -593,8 +593,8 @@ static int atomisp_enum_input(struct file *file, void *fh,
593593

594594
if (max_size > 1) {
595595
input->name[cur_len] = '+';
596-
strncpy(&input->name[cur_len + 1],
597-
motor->name, max_size - 1);
596+
strscpy(&input->name[cur_len + 1],
597+
motor->name, max_size);
598598
}
599599
}
600600

drivers/staging/media/atomisp/pci/atomisp_tpg.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ int atomisp_tpg_init(struct atomisp_device *isp)
148148
tpg->isp = isp;
149149
v4l2_subdev_init(sd, &tpg_ops);
150150
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
151-
strcpy(sd->name, "tpg_subdev");
151+
strscpy(sd->name, "tpg_subdev", sizeof(sd->name));
152152
v4l2_set_subdevdata(sd, tpg);
153153

154154
pads[0].flags = MEDIA_PAD_FL_SINK;

drivers/staging/media/atomisp/pci/atomisp_trace_event.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ TRACE_EVENT(camera_meminfo,
4444
),
4545

4646
TP_fast_assign(
47-
strlcpy(__entry->name, name, 24);
47+
strscpy(__entry->name, name, 24);
4848
__entry->uptr_size = uptr_size;
4949
__entry->counter = counter;
5050
__entry->sys_size = sys_size;
@@ -74,8 +74,8 @@ TRACE_EVENT(camera_debug,
7474
),
7575

7676
TP_fast_assign(
77-
strlcpy(__entry->name, name, 24);
78-
strlcpy(__entry->info, info, 24);
77+
strscpy(__entry->name, name, 24);
78+
strscpy(__entry->info, info, 24);
7979
__entry->line = line;
8080
),
8181

drivers/staging/media/atomisp/pci/atomisp_v4l2.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1206,7 +1206,7 @@ static int atomisp_register_entities(struct atomisp_device *isp)
12061206

12071207
isp->media_dev.dev = isp->dev;
12081208

1209-
strlcpy(isp->media_dev.model, "Intel Atom ISP",
1209+
strscpy(isp->media_dev.model, "Intel Atom ISP",
12101210
sizeof(isp->media_dev.model));
12111211

12121212
media_device_init(&isp->media_dev);

drivers/staging/media/atomisp/pci/sh_css_sp.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -991,8 +991,7 @@ sh_css_sp_init_stage(struct ia_css_binary *binary,
991991

992992
/* Make sure binary name is smaller than allowed string size */
993993
assert(strlen(binary_name) < SH_CSS_MAX_BINARY_NAME - 1);
994-
strncpy(sh_css_isp_stage.binary_name, binary_name, SH_CSS_MAX_BINARY_NAME - 1);
995-
sh_css_isp_stage.binary_name[SH_CSS_MAX_BINARY_NAME - 1] = 0;
994+
strscpy(sh_css_isp_stage.binary_name, binary_name, SH_CSS_MAX_BINARY_NAME);
996995
sh_css_isp_stage.mem_initializers = *isp_mem_if;
997996

998997
/*

drivers/staging/media/atomisp/pci/sh_css_version.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ ia_css_get_version(char *version, int max_size) {
3131

3232
if (max_size <= (int)strlen(css_version) + (int)strlen(sh_css_get_fw_version()) + 5)
3333
return -EINVAL;
34-
strcpy(version, css_version);
34+
strscpy(version, css_version, max_size);
3535
strcat(version, "FW:");
3636
strcat(version, sh_css_get_fw_version());
3737
strcat(version, "; ");

0 commit comments

Comments
 (0)