From 1ceb2163940e85beb648ea333974555da5242d65 Mon Sep 17 00:00:00 2001 From: Peter Lieven Date: Tue, 16 Jun 2015 12:14:11 +0200 Subject: [PATCH] pdu: timed out pdus might have no callback Signed-off-by: Peter Lieven --- lib/pdu.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/pdu.c b/lib/pdu.c index 0b63682..09ee141 100644 --- a/lib/pdu.c +++ b/lib/pdu.c @@ -705,8 +705,10 @@ iscsi_timeout_scan(struct iscsi_context *iscsi) ISCSI_LIST_REMOVE(&iscsi->outqueue, pdu); iscsi_set_error(iscsi, "command timed out"); iscsi_dump_pdu_header(iscsi, pdu->outdata.data); - pdu->callback(iscsi, SCSI_STATUS_TIMEOUT, - NULL, pdu->private_data); + if (pdu->callback) { + pdu->callback(iscsi, SCSI_STATUS_TIMEOUT, + NULL, pdu->private_data); + } iscsi_free_pdu(iscsi, pdu); } for (pdu = iscsi->waitpdu; pdu; pdu = next_pdu) { @@ -723,8 +725,10 @@ iscsi_timeout_scan(struct iscsi_context *iscsi) ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu); iscsi_set_error(iscsi, "command timed out"); iscsi_dump_pdu_header(iscsi, pdu->outdata.data); - pdu->callback(iscsi, SCSI_STATUS_TIMEOUT, - NULL, pdu->private_data); + if (pdu->callback) { + pdu->callback(iscsi, SCSI_STATUS_TIMEOUT, + NULL, pdu->private_data); + } iscsi_free_pdu(iscsi, pdu); } }