Re: [PATCH] ALSA: scarlett2: Zero initialize ret in scarlett2_ag_target_ctl_get()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Sat, 20 Apr 2024 02:25:59 +0200,
Nathan Chancellor wrote:
> 
> Clang warns (or errors with CONFIG_WERROR):
> 
>   sound/usb/mixer_scarlett2.c:3697:6: error: variable 'err' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
>    3697 |         if (private->autogain_updated) {
>         |             ^~~~~~~~~~~~~~~~~~~~~~~~~
>   sound/usb/mixer_scarlett2.c:3707:9: note: uninitialized use occurs here
>    3707 |         return err;
>         |                ^~~
>   sound/usb/mixer_scarlett2.c:3697:2: note: remove the 'if' if its condition is always true
>    3697 |         if (private->autogain_updated) {
>         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   sound/usb/mixer_scarlett2.c:3688:9: note: initialize the variable 'err' to silence this warning
>    3688 |         int err;
>         |                ^
>         |                 = 0
>   1 error generated.
> 
> Initialize ret to zero to ensure ret is initialized in all paths within
> scarlett2_ag_target_ctl_get(), which matches the style of other
> functions in this driver.
> 
> Fixes: e30ea5340c25 ("ALSA: scarlett2: Add autogain target controls")
> Signed-off-by: Nathan Chancellor <nathan@xxxxxxxxxx>

Thanks, applied now.

> ---
> FWIW, a lot of the functions that end in just 'mutex_unlock()' before
> returning could probably benefit from the cleanup.h infrastructure,
> which would help with the scope of err in this particular function, but
> I decided to go with the most minimal fix here.

Yeah, we can clean up lots of such code now.

If it were a new code file, I'd suggest it, but since it was an
extention of the existing code, I accepted as is.


thanks,

Takashi




[Index of Archives]     [Pulseaudio]     [Linux Audio Users]     [ALSA Devel]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]

  Powered by Linux