diff options
author | Benoit Taine <benoit.taine@lip6.fr> | 2014-05-26 12:21:26 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-07-04 15:34:21 -0300 |
commit | 20f63150a21598c38e2f32cedb235319b99436f8 (patch) | |
tree | 1ba50df9964f05f92ff11b6b2e5a4137b7e2ac98 | |
parent | 690130fe0b4c1a72c931e9aafbec8f21dbeed20c (diff) |
[media] drx-j: Use kmemdup instead of kmalloc + memcpy
This issue was reported by coccicheck using the semantic patch
at scripts/coccinelle/api/memdup.cocci
Signed-off-by: Benoit Taine <benoit.taine@lip6.fr>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
-rw-r--r-- | drivers/media/dvb-frontends/drx39xyj/drxj.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/media/dvb-frontends/drx39xyj/drxj.c b/drivers/media/dvb-frontends/drx39xyj/drxj.c index 9482954fd453..3795f65564f8 100644 --- a/drivers/media/dvb-frontends/drx39xyj/drxj.c +++ b/drivers/media/dvb-frontends/drx39xyj/drxj.c @@ -12272,22 +12272,20 @@ struct dvb_frontend *drx39xxj_attach(struct i2c_adapter *i2c) if (demod == NULL) goto error; - demod_addr = kmalloc(sizeof(struct i2c_device_addr), GFP_KERNEL); + demod_addr = kmemdup(&drxj_default_addr_g, + sizeof(struct i2c_device_addr), GFP_KERNEL); if (demod_addr == NULL) goto error; - memcpy(demod_addr, &drxj_default_addr_g, - sizeof(struct i2c_device_addr)); - demod_comm_attr = kmalloc(sizeof(struct drx_common_attr), GFP_KERNEL); + demod_comm_attr = kmemdup(&drxj_default_comm_attr_g, + sizeof(struct drx_common_attr), GFP_KERNEL); if (demod_comm_attr == NULL) goto error; - memcpy(demod_comm_attr, &drxj_default_comm_attr_g, - sizeof(struct drx_common_attr)); - demod_ext_attr = kmalloc(sizeof(struct drxj_data), GFP_KERNEL); + demod_ext_attr = kmemdup(&drxj_data_g, sizeof(struct drxj_data), + GFP_KERNEL); if (demod_ext_attr == NULL) goto error; - memcpy(demod_ext_attr, &drxj_data_g, sizeof(struct drxj_data)); /* setup the state */ state->i2c = i2c; |