Re: [PATCH v2 1/2] ALSA: usbusx2y: fix in04_last array size mismatch with in04_buf

From: Takashi Iwai

Date: Sun Sep 06 2026 - 04:14:31 EST


On Fri, 04 Sep 2026 22:58:25 +0200,
Tristan Madani wrote:
>
> From: Tristan Madani <tristan@xxxxxxxxxxxxxxxxxxx>
>
> The in04_last array in struct usx2ydev is declared as char[24], but
> in04_buf is allocated as sizeof(struct us428_ctls) which is 21 bytes.
> In i_usx2y_in04_int(), when ctl_snapshot_last == -2 (initialization
> path):
>
> memcpy(usx2y->in04_last, usx2y->in04_buf, sizeof(usx2y->in04_last));
>
> This copies 24 bytes from a 21-byte slab allocation, reading 3 bytes
> past the end of the source object.
>
> Introduce a USX2Y_IN04_SIZE constant defined as sizeof(struct
> us428_ctls) and use it consistently for the in04_last array, the
> in04_buf allocation, the URB transfer length, and the comparison loop,
> replacing the bare 24 and 21 literals throughout.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Tristan Madani <tristan@xxxxxxxxxxxxxxxxxxx>

Applied both patches now. Thanks.


Takashi