From 93be2ada98f67d90c69bb328ec583ded89b6f3ca Mon Sep 17 00:00:00 2001 From: GangCao Date: Fri, 10 May 2019 18:15:45 -0400 Subject: [PATCH] iscsi: fix double free when failed to start target When iSCSI target failed to start due to insuccificent resource like PDU pool, one memory is double freed. Signed-off-by: GangCao Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/453981 (master) (cherry picked from commit e358eaeeea497bbd166373d6eb5a41fc52963620) Change-Id: I1b68d4f0f130b024be9f8406c8d1611e92a27787 Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/457225 Tested-by: SPDK CI Jenkins Reviewed-by: Paul Luse Reviewed-by: Shuhei Matsumoto Reviewed-by: GangCao Reviewed-by: Darek Stojaczyk --- lib/iscsi/iscsi_subsystem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/iscsi/iscsi_subsystem.c b/lib/iscsi/iscsi_subsystem.c index a9e8145b7..0278a4e29 100644 --- a/lib/iscsi/iscsi_subsystem.c +++ b/lib/iscsi/iscsi_subsystem.c @@ -1309,6 +1309,7 @@ iscsi_parse_globals(void) if (rc != 0) { SPDK_ERRLOG("spdk_initialize_all_pools() failed\n"); free(g_spdk_iscsi.session); + g_spdk_iscsi.session = NULL; return -1; } @@ -1316,6 +1317,7 @@ iscsi_parse_globals(void) if (rc < 0) { SPDK_ERRLOG("spdk_initialize_iscsi_conns() failed\n"); free(g_spdk_iscsi.session); + g_spdk_iscsi.session = NULL; return rc; }