open-iscsi/0000-Plugging-a-memory-leak-from-discovery.patch
2020-05-12 17:27:41 +08:00

33 lines
924 B
Diff

From c388d9adae20b835731ac98776082c884617467d Mon Sep 17 00:00:00 2001
From: Lee Duncan <lduncan@suse.com>
Date: Thu, 30 Aug 2018 15:58:10 -0700
Subject: [PATCH 45/91] Plugging a memory leak from discovery.
During discovery the function get_op_params_text_keys()
can allocate a target_alias, but this is never freed.
Discovered-by: zhangzujian.7@gmail.com
---
usr/discovery.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/usr/discovery.c b/usr/discovery.c
index 8001af6..2147deb 100644
--- a/usr/discovery.c
+++ b/usr/discovery.c
@@ -1055,6 +1055,11 @@ static void iscsi_destroy_session(struct iscsi_session *session)
log_error("Could not safely destroy session %d (err %d)",
session->id, rc);
done:
+ if (session->target_alias) {
+ free(session->target_alias);
+ session->target_alias = NULL;
+ }
+
if (conn->socket_fd >= 0) {
ipc->ctldev_close();
conn->socket_fd = -1;
--
1.8.3.1