target/iscsi: Fix double free in lio_target_tiqn_addtpg()
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 13 Dec 2016 12:27:04 +0000 (15:27 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 16 Mar 2017 02:18:33 +0000 (02:18 +0000)
commit a91918cd3ea11f91c68e08e1e8ce1b560447a80e upstream.

This iscsit_tpg_add_portal_group() function is only called from
lio_target_tiqn_addtpg().  Both functions free the "tpg" pointer on
error so it's a double free bug.  The memory is allocated in the caller
so it should be freed in the caller and not here.

Fixes: e48354ce078c ("iscsi-target: Add iSCSI fabric support for target v4.1")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: David Disseldorp <ddiss@suse.de>
[ bvanassche: Added "Fix" at start of patch title ]
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/target/iscsi/iscsi_target_tpg.c

index 309f14c..3af3255 100644 (file)
@@ -253,7 +253,6 @@ err_out:
                iscsi_release_param_list(tpg->param_list);
                tpg->param_list = NULL;
        }
                iscsi_release_param_list(tpg->param_list);
                tpg->param_list = NULL;
        }
-       kfree(tpg);
        return -ENOMEM;
 }
 
        return -ENOMEM;
 }