From 52c6b0d397fddec46b75a5a9a3bec72fbcfa2d25 Mon Sep 17 00:00:00 2001 From: Peter Lieven Date: Tue, 17 Jun 2014 12:50:26 +0200 Subject: [PATCH] pdu: check callback on iscsi_process_reject if the rejected packet is a NOP-Out it is legal that it has no callback. In this case we end up in a segfault. Signed-off-by: Peter Lieven --- lib/pdu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/pdu.c b/lib/pdu.c index 36c1df9..72a6e3f 100644 --- a/lib/pdu.c +++ b/lib/pdu.c @@ -371,8 +371,10 @@ int iscsi_process_reject(struct iscsi_context *iscsi, return -1; } - pdu->callback(iscsi, SCSI_STATUS_ERROR, NULL, - pdu->private_data); + if (pdu->callback) { + pdu->callback(iscsi, SCSI_STATUS_ERROR, NULL, + pdu->private_data); + } ISCSI_LIST_REMOVE(&iscsi->waitpdu, pdu); iscsi_free_pdu(iscsi, pdu);