fix: check scsi_datain_unmarshall for NULL

Signed-off-by: Peter Lieven <pl@dlhnet.de>
This commit is contained in:
Peter Lieven
2025-09-11 19:39:43 +00:00
parent 8c4e2ad46b
commit 5f14051864

View File

@@ -101,6 +101,7 @@ iscsi_inquiry_page_0x80_cb(struct iscsi_context *iscsi, int status,
if (!status) { if (!status) {
inq = scsi_datain_unmarshall(task); inq = scsi_datain_unmarshall(task);
if (inq != NULL) {
if (!iscsi->unit_serial_number[0]) { if (!iscsi->unit_serial_number[0]) {
ISCSI_LOG(iscsi, 2, "unit serial number is [%s]", inq->usn); ISCSI_LOG(iscsi, 2, "unit serial number is [%s]", inq->usn);
strncpy(iscsi->unit_serial_number, inq->usn, MAX_STRING_SIZE); strncpy(iscsi->unit_serial_number, inq->usn, MAX_STRING_SIZE);
@@ -111,6 +112,10 @@ iscsi_inquiry_page_0x80_cb(struct iscsi_context *iscsi, int status,
} else { } else {
ISCSI_LOG(iscsi, 2, "successfully validated unit serial number [%s]", inq->usn); ISCSI_LOG(iscsi, 2, "successfully validated unit serial number [%s]", inq->usn);
} }
} else {
iscsi_set_error(iscsi, "iscsi_inquiry_task datain_unmarshall failed. could not read vpd page 0x80.");
status = 1;
}
} else { } else {
iscsi_set_error(iscsi, "iscsi_inquiry_task failed. could not read vpd page 0x80."); iscsi_set_error(iscsi, "iscsi_inquiry_task failed. could not read vpd page 0x80.");
} }