From dc9e8b7aa1f739a9be85e65a7cef48accb739d30 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 31 Oct 2025 14:00:31 +0100 Subject: [SERVER] iscsi: Fix endianness bug --- src/server/iscsi.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/server/iscsi.c b/src/server/iscsi.c index 95ce1ec..4af1e54 100644 --- a/src/server/iscsi.c +++ b/src/server/iscsi.c @@ -1159,14 +1159,10 @@ static int iscsi_scsi_emu_block_process(iscsi_scsi_task *scsi_task) buf->reserved[0] = 0ULL; buf->reserved[1] = 0ULL; - uint len = cdb_servce_in_action_16->alloc_len; - - if ( len > sizeof(struct iscsi_scsi_service_action_in_16_parameter_data_packet) ) { - len = sizeof(struct iscsi_scsi_service_action_in_16_parameter_data_packet); // TODO: Check whether scatter data is required - } + const uint alloc_len = iscsi_get_be32( cdb_servce_in_action_16->alloc_len ); scsi_task->buf = (uint8_t *) buf; - scsi_task->len = len; + scsi_task->len = MIN( alloc_len, sizeof(*buf) ); scsi_task->status = ISCSI_SCSI_STATUS_GOOD; break; -- cgit v1.2.3-55-g7522