mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-07 09:09:23 +00:00
media: dvb-frontends: fix memory leaks
In dib7000pc_detection(), 'tx' and 'rx' are allocated through kzalloc() respectively. However, if DiB7000PC is detected, they are not deallocated, leading to memory leaks. To fix this issue, create a label to free 'tx' and 'rx' before returning from the function. Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
parent
9fc3ce31f5
commit
8c3d3cdbd5
1 changed files with 5 additions and 2 deletions
|
@ -2036,7 +2036,8 @@ static int dib7000pc_detection(struct i2c_adapter *i2c_adap)
|
|||
if (i2c_transfer(i2c_adap, msg, 2) == 2)
|
||||
if (rx[0] == 0x01 && rx[1] == 0xb3) {
|
||||
dprintk("-D- DiB7000PC detected\n");
|
||||
return 1;
|
||||
ret = 1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
msg[0].addr = msg[1].addr = 0x40;
|
||||
|
@ -2044,11 +2045,13 @@ static int dib7000pc_detection(struct i2c_adapter *i2c_adap)
|
|||
if (i2c_transfer(i2c_adap, msg, 2) == 2)
|
||||
if (rx[0] == 0x01 && rx[1] == 0xb3) {
|
||||
dprintk("-D- DiB7000PC detected\n");
|
||||
return 1;
|
||||
ret = 1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
dprintk("-D- DiB7000PC not detected\n");
|
||||
|
||||
out:
|
||||
kfree(rx);
|
||||
rx_memory_error:
|
||||
kfree(tx);
|
||||
|
|
Loading…
Reference in a new issue