summaryrefslogtreecommitdiffstats
path: root/sys/dev/iscsi
diff options
context:
space:
mode:
authortrasz <trasz@FreeBSD.org>2014-08-13 11:11:27 +0000
committertrasz <trasz@FreeBSD.org>2014-08-13 11:11:27 +0000
commitfd8b4675b0592cdb2ef02b4e4917113d199703b8 (patch)
treee08dccdff8a99a183cd461e31ae4e6e4cbb8ef6a /sys/dev/iscsi
parent0f8aee9425720a019258ee4fb15947813b08e065 (diff)
downloadFreeBSD-src-fd8b4675b0592cdb2ef02b4e4917113d199703b8.zip
FreeBSD-src-fd8b4675b0592cdb2ef02b4e4917113d199703b8.tar.gz
MFC r269197:
Fix potential double free that could happen after connection error.
Diffstat (limited to 'sys/dev/iscsi')
-rw-r--r--sys/dev/iscsi/icl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/iscsi/icl.c b/sys/dev/iscsi/icl.c
index 20b184c..464f339 100644
--- a/sys/dev/iscsi/icl.c
+++ b/sys/dev/iscsi/icl.c
@@ -669,7 +669,10 @@ icl_conn_receive_pdu(struct icl_conn *ic, size_t *availablep)
}
if (error != 0) {
- icl_pdu_free(request);
+ /*
+ * Don't free the PDU; it's pointed to by ic->ic_receive_pdu
+ * and will get freed in icl_conn_close().
+ */
icl_conn_fail(ic);
}
OpenPOWER on IntegriCloud