• Jesper Juhl's avatar
    [SCSI] target: Fix match_strdup() memory leaks · 6d180253
    Jesper Juhl authored
    match_strdup() dynamically allocates memory and it is the responsabillity
    of the caller to free that memory. The following three cases:
    
    drivers/target/target_core_file.c:fd_set_configfs_dev_params()
    drivers/target/target_core_iblock.c:iblock_set_configfs_dev_params()
    drivers/target/target_core_configfs.c:target_core_dev_pr_store_attr_res_aptpl_metadata()
    
    should be kfree()'ing the allocated memory once it is no longer needed.
    It also makes sure to return -ENOMEM if the memory allocation in match_strdup()
    should fail.  For target_core_configfs.c, this patch adds kfree()'s around
    Opt_initiator_fabric, Opt_initiator_node, Opt_initiator_sid, Opt_sa_res_key,
    Opt_target_fabric, and Opt_target_node for the Persistent Reservations
    Activate Persistence across Target Power Loss (APTPL=1) token parsing.
    Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
    Signed-off-by: default avatarNicholas A. Bellinger <nab@linux-iscsi.org>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
    6d180253
target_core_iblock.c 20.5 KB