target: Fix memory leak on error in target_fabric_make_mappedlun
authorJoern Engel <joern@logfs.org>
Tue, 2 Sep 2014 21:49:57 +0000 (17:49 -0400)
committerNicholas Bellinger <nab@linux-iscsi.org>
Wed, 17 Sep 2014 21:34:50 +0000 (14:34 -0700)
This patch fixes a memory leak on error in target_fabric_make_mappedlun(),
where se_lun_acl memory does not get released on exit.

Found by coverity.

Signed-off-by: Joern Engel <joern@logfs.org>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_fabric_configfs.c

index 7228a18b12adf68228c91a4ed716429b7649498a..0638a672d9117f2ec3c147966cbf7f6a03faf18a 100644 (file)
@@ -320,7 +320,7 @@ static struct config_group *target_fabric_make_mappedlun(
                        struct se_node_acl, acl_group);
        struct se_portal_group *se_tpg = se_nacl->se_tpg;
        struct target_fabric_configfs *tf = se_tpg->se_tpg_wwn->wwn_tf;
-       struct se_lun_acl *lacl;
+       struct se_lun_acl *lacl = NULL;
        struct config_item *acl_ci;
        struct config_group *lacl_cg = NULL, *ml_stat_grp = NULL;
        char *buf;
@@ -406,6 +406,7 @@ static struct config_group *target_fabric_make_mappedlun(
 out:
        if (lacl_cg)
                kfree(lacl_cg->default_groups);
+       kfree(lacl);
        kfree(buf);
        return ERR_PTR(ret);
 }