Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c0decac1 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

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: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Reviewed-by: default avatarKees Cook <keescook@chromium.org>
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent b730c408
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -77,9 +77,9 @@ static long cec_adap_g_caps(struct cec_adapter *adap,
{
{
	struct cec_caps caps = {};
	struct cec_caps caps = {};


	strlcpy(caps.driver, adap->devnode.dev.parent->driver->name,
	strscpy(caps.driver, adap->devnode.dev.parent->driver->name,
		sizeof(caps.driver));
		sizeof(caps.driver));
	strlcpy(caps.name, adap->name, sizeof(caps.name));
	strscpy(caps.name, adap->name, sizeof(caps.name));
	caps.available_log_addrs = adap->available_log_addrs;
	caps.available_log_addrs = adap->available_log_addrs;
	caps.capabilities = adap->capabilities;
	caps.capabilities = adap->capabilities;
	caps.version = LINUX_VERSION_CODE;
	caps.version = LINUX_VERSION_CODE;
+1 −1
Original line number Original line Diff line number Diff line
@@ -264,7 +264,7 @@ struct cec_adapter *cec_allocate_adapter(const struct cec_adap_ops *ops,
	adap = kzalloc(sizeof(*adap), GFP_KERNEL);
	adap = kzalloc(sizeof(*adap), GFP_KERNEL);
	if (!adap)
	if (!adap)
		return ERR_PTR(-ENOMEM);
		return ERR_PTR(-ENOMEM);
	strlcpy(adap->name, name, sizeof(adap->name));
	strscpy(adap->name, name, sizeof(adap->name));
	adap->phys_addr = CEC_PHYS_ADDR_INVALID;
	adap->phys_addr = CEC_PHYS_ADDR_INVALID;
	adap->cec_pin_is_high = true;
	adap->cec_pin_is_high = true;
	adap->log_addrs.cec_version = CEC_OP_CEC_VERSION_2_0;
	adap->log_addrs.cec_version = CEC_OP_CEC_VERSION_2_0;
+6 −6
Original line number Original line Diff line number Diff line
@@ -226,11 +226,11 @@ int flexcop_i2c_init(struct flexcop_device *fc)
	fc->fc_i2c_adap[1].port = FC_I2C_PORT_EEPROM;
	fc->fc_i2c_adap[1].port = FC_I2C_PORT_EEPROM;
	fc->fc_i2c_adap[2].port = FC_I2C_PORT_TUNER;
	fc->fc_i2c_adap[2].port = FC_I2C_PORT_TUNER;


	strlcpy(fc->fc_i2c_adap[0].i2c_adap.name, "B2C2 FlexCop I2C to demod",
	strscpy(fc->fc_i2c_adap[0].i2c_adap.name, "B2C2 FlexCop I2C to demod",
		sizeof(fc->fc_i2c_adap[0].i2c_adap.name));
		sizeof(fc->fc_i2c_adap[0].i2c_adap.name));
	strlcpy(fc->fc_i2c_adap[1].i2c_adap.name, "B2C2 FlexCop I2C to eeprom",
	strscpy(fc->fc_i2c_adap[1].i2c_adap.name, "B2C2 FlexCop I2C to eeprom",
		sizeof(fc->fc_i2c_adap[1].i2c_adap.name));
		sizeof(fc->fc_i2c_adap[1].i2c_adap.name));
	strlcpy(fc->fc_i2c_adap[2].i2c_adap.name, "B2C2 FlexCop I2C to tuner",
	strscpy(fc->fc_i2c_adap[2].i2c_adap.name, "B2C2 FlexCop I2C to tuner",
		sizeof(fc->fc_i2c_adap[2].i2c_adap.name));
		sizeof(fc->fc_i2c_adap[2].i2c_adap.name));


	i2c_set_adapdata(&fc->fc_i2c_adap[0].i2c_adap, &fc->fc_i2c_adap[0]);
	i2c_set_adapdata(&fc->fc_i2c_adap[0].i2c_adap, &fc->fc_i2c_adap[0]);
+1 −1
Original line number Original line Diff line number Diff line
@@ -569,7 +569,7 @@ static int cx2341x_ctrl_query_fill(struct v4l2_queryctrl *qctrl,
		qctrl->step = step;
		qctrl->step = step;
		qctrl->default_value = def;
		qctrl->default_value = def;
		qctrl->reserved[0] = qctrl->reserved[1] = 0;
		qctrl->reserved[0] = qctrl->reserved[1] = 0;
		strlcpy(qctrl->name, name, sizeof(qctrl->name));
		strscpy(qctrl->name, name, sizeof(qctrl->name));
		return 0;
		return 0;


	default:
	default:
+1 −1
Original line number Original line Diff line number Diff line
@@ -606,7 +606,7 @@ int saa7146_register_device(struct video_device *vfd, struct saa7146_dev *dev,
	vfd->tvnorms = 0;
	vfd->tvnorms = 0;
	for (i = 0; i < dev->ext_vv_data->num_stds; i++)
	for (i = 0; i < dev->ext_vv_data->num_stds; i++)
		vfd->tvnorms |= dev->ext_vv_data->stds[i].id;
		vfd->tvnorms |= dev->ext_vv_data->stds[i].id;
	strlcpy(vfd->name, name, sizeof(vfd->name));
	strscpy(vfd->name, name, sizeof(vfd->name));
	video_set_drvdata(vfd, dev);
	video_set_drvdata(vfd, dev);


	err = video_register_device(vfd, type, -1);
	err = video_register_device(vfd, type, -1);
Loading