소스 검색

[SCSI] iscsi bugfixes: fix mem leaks in libiscsi

We were leaking some strings. This patch just frees them.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Mike Christie 19 년 전
부모
커밋
f3ff0c3627
1개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  1. 3 0
      drivers/scsi/libiscsi.c

+ 3 - 0
drivers/scsi/libiscsi.c

@@ -1357,6 +1357,8 @@ void iscsi_session_teardown(struct iscsi_cls_session *cls_session)
 	iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);
 	iscsi_pool_free(&session->mgmtpool, (void**)session->mgmt_cmds);
 	iscsi_pool_free(&session->cmdpool, (void**)session->cmds);
 	iscsi_pool_free(&session->cmdpool, (void**)session->cmds);
 
 
+	kfree(session->targetname);
+
 	iscsi_destroy_session(cls_session);
 	iscsi_destroy_session(cls_session);
 	scsi_host_put(shost);
 	scsi_host_put(shost);
 	module_put(owner);
 	module_put(owner);
@@ -1491,6 +1493,7 @@ void iscsi_conn_teardown(struct iscsi_cls_conn *cls_conn)
 
 
 	spin_lock_bh(&session->lock);
 	spin_lock_bh(&session->lock);
 	kfree(conn->data);
 	kfree(conn->data);
+	kfree(conn->persistent_address);
 	__kfifo_put(session->mgmtpool.queue, (void*)&conn->login_mtask,
 	__kfifo_put(session->mgmtpool.queue, (void*)&conn->login_mtask,
 		    sizeof(void*));
 		    sizeof(void*));
 	list_del(&conn->item);
 	list_del(&conn->item);