secugen: Check transfers have a minimal lengths

This commit is contained in:
Marco Trevisan (Treviño) 2026-06-17 18:41:49 +02:00
parent 726cf8a515
commit 3af57e3483

View file

@ -526,6 +526,13 @@ init_i2c_readback_cb (FpiUsbTransfer *transfer,
return;
}
if (transfer->actual_length < 1)
{
fpi_ssm_mark_failed (transfer->ssm,
fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
return;
}
self->last_reg_rd = transfer->buffer[0];
self->init_reg_idx++;
@ -555,6 +562,13 @@ init_late_readback_cb (FpiUsbTransfer *transfer,
return;
}
if (transfer->actual_length < 1)
{
fpi_ssm_mark_failed (transfer->ssm,
fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
return;
}
self->last_reg_rd = transfer->buffer[0];
self->init_reg_idx++;
@ -584,6 +598,13 @@ init_window_readback_cb (FpiUsbTransfer *transfer,
return;
}
if (transfer->actual_length < 1)
{
fpi_ssm_mark_failed (transfer->ssm,
fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
return;
}
self->last_reg_rd = transfer->buffer[0];
self->init_reg_idx++;
@ -740,6 +761,13 @@ init_frame_readback_cb (FpiUsbTransfer *transfer,
return;
}
if (transfer->actual_length < 1)
{
fpi_ssm_mark_failed (transfer->ssm,
fpi_device_error_new (FP_DEVICE_ERROR_PROTO));
return;
}
self->last_reg_rd = transfer->buffer[0];
self->init_reg_idx++;