staging: slicoss: fix a leak when kzalloc fail
slic_card_locate does a kzalloc of physcard, and if it fails, in my previous patch i returned -ENOMEM, but left the driver leak the memory if card_hostid == SLIC_HOSTID_DEFAULT, fix this memory leak if the above condition is true Signed-off-by: Devendra Naga <devendra.aaru@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
db9d1f6dd2
Коммит
34ec83f4c1
|
@ -3657,8 +3657,11 @@ static u32 slic_card_locate(struct adapter *adapter)
|
||||||
if (!physcard) {
|
if (!physcard) {
|
||||||
/* no structure allocated for this physical card yet */
|
/* no structure allocated for this physical card yet */
|
||||||
physcard = kzalloc(sizeof(struct physcard), GFP_ATOMIC);
|
physcard = kzalloc(sizeof(struct physcard), GFP_ATOMIC);
|
||||||
if (!physcard)
|
if (!physcard) {
|
||||||
|
if (card_hostid == SLIC_HOSTID_DEFAULT)
|
||||||
|
kfree(card);
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
physcard->next = slic_global.phys_card;
|
physcard->next = slic_global.phys_card;
|
||||||
slic_global.phys_card = physcard;
|
slic_global.phys_card = physcard;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче