diff options
| author | Simon Rettberg | 2025-10-31 14:00:31 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2025-10-31 14:00:31 +0100 |
| commit | dc9e8b7aa1f739a9be85e65a7cef48accb739d30 (patch) | |
| tree | 79e8728728d204655f7e094e0adf13e62e9c071d | |
| parent | [SERVER] iscsi: Rename constant to reflect it means LOGICAL block size (diff) | |
| download | dnbd3-dc9e8b7aa1f739a9be85e65a7cef48accb739d30.tar.gz dnbd3-dc9e8b7aa1f739a9be85e65a7cef48accb739d30.tar.xz dnbd3-dc9e8b7aa1f739a9be85e65a7cef48accb739d30.zip | |
[SERVER] iscsi: Fix endianness bug
| -rw-r--r-- | src/server/iscsi.c | 8 |
1 files 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; |
