iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
tpg must free when call core_tpg_register() return fail Signed-off-by: tangwenji <tang.wenji@zte.com.cn> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
24528f089d
commit
12d5a43b2d
|
@ -1123,7 +1123,7 @@ static struct se_portal_group *lio_target_tiqn_addtpg(
|
||||||
|
|
||||||
ret = core_tpg_register(wwn, &tpg->tpg_se_tpg, SCSI_PROTOCOL_ISCSI);
|
ret = core_tpg_register(wwn, &tpg->tpg_se_tpg, SCSI_PROTOCOL_ISCSI);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return NULL;
|
goto free_out;
|
||||||
|
|
||||||
ret = iscsit_tpg_add_portal_group(tiqn, tpg);
|
ret = iscsit_tpg_add_portal_group(tiqn, tpg);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
@ -1135,6 +1135,7 @@ static struct se_portal_group *lio_target_tiqn_addtpg(
|
||||||
return &tpg->tpg_se_tpg;
|
return &tpg->tpg_se_tpg;
|
||||||
out:
|
out:
|
||||||
core_tpg_deregister(&tpg->tpg_se_tpg);
|
core_tpg_deregister(&tpg->tpg_se_tpg);
|
||||||
|
free_out:
|
||||||
kfree(tpg);
|
kfree(tpg);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user