Re: [PATCH] tools: usb: ffs-test: return the number of bytes written in pipe mode
From: Michał Nazarewicz
Date: Sun Oct 11 2026 - 19:10:05 EST
On Sun, Oct 11 2026, Sasha Levin wrote:
> empty_out_buf() returns len, which the PAT_PIPE case never sets:
>
> ffs-test.c:551:7: warning: variable 'len' is used uninitialized whenever switch case is taken [-Wsometimes-uninitialized]
>
> Nothing sets pattern to PAT_PIPE, so the case is never reached and only
> the warning is visible. Return nbytes once the buffer has been written
> and flushed, and -1 if either fails.
>
> Fixes: 93f2aa4ddd25c ("USB: ffs-test: FunctionFS testing program")
> Assisted-by: LLM
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
Acked-by: Michał Nazarewicz <mina86@xxxxxxxxxx>
> ---
> tools/usb/ffs-test.c | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/tools/usb/ffs-test.c b/tools/usb/ffs-test.c
> index f08060459b3f1..283db8979d67a 100644
> --- a/tools/usb/ffs-test.c
> +++ b/tools/usb/ffs-test.c
> @@ -528,7 +528,6 @@ empty_out_buf(struct thread *ignore, const void *buf, size_t nbytes)
> {
> const __u8 *p;
> __u8 expected;
> - ssize_t ret;
> size_t len;
>
> (void)ignore;
> @@ -550,9 +549,9 @@ empty_out_buf(struct thread *ignore, const void *buf, size_t nbytes)
> break;
>
> case PAT_PIPE:
> - ret = fwrite(buf, nbytes, 1, stdout);
> - if (ret > 0)
> - fflush(stdout);
> + if (fwrite(buf, nbytes, 1, stdout) != 1 || fflush(stdout))
> + return -1;
> + len = nbytes;
> break;
>
> invalid:
--
Best regards
ミハウ “𝓶𝓲𝓷𝓪86” ナザレヴィツ
«If at first you don’t succeed, give up skydiving»