From 804c5b02112d84c79460e7b2a01fe42f0ca5e687 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Sun, 21 Jul 2013 13:29:43 -0700 Subject: [PATCH] Dont reference *pdu after it has been freed --- lib/iscsi-command.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/iscsi-command.c b/lib/iscsi-command.c index 1f0636c..d678b56 100644 --- a/lib/iscsi-command.c +++ b/lib/iscsi-command.c @@ -1891,7 +1891,7 @@ iscsi_scsi_cancel_all_tasks(struct iscsi_context *iscsi) { struct iscsi_pdu *pdu; - for (pdu = iscsi->waitpdu; pdu; pdu = pdu->next) { + while ((pdu = iscsi->waitpdu)) { SLIST_REMOVE(&iscsi->waitpdu, pdu); if ( !(pdu->flags & ISCSI_PDU_NO_CALLBACK)) { pdu->callback(iscsi, SCSI_STATUS_CANCELLED, NULL, @@ -1899,7 +1899,7 @@ iscsi_scsi_cancel_all_tasks(struct iscsi_context *iscsi) } iscsi_free_pdu(iscsi, pdu); } - for (pdu = iscsi->outqueue; pdu; pdu = pdu->next) { + while ((pdu = iscsi->outqueue)) { SLIST_REMOVE(&iscsi->outqueue, pdu); if ( !(pdu->flags & ISCSI_PDU_NO_CALLBACK)) { pdu->callback(iscsi, SCSI_STATUS_CANCELLED, NULL,