diff mbox series

ALSA: usb-audio: initialize variables that could ignore errors

Message ID 20220126182142.1184819-1-trix@redhat.com (mailing list archive)
State New, archived
Headers show
Series ALSA: usb-audio: initialize variables that could ignore errors | expand

Commit Message

Tom Rix Jan. 26, 2022, 6:21 p.m. UTC
From: Tom Rix <trix@redhat.com>

clang static analysis reports this representative issue
mixer.c:1548:35: warning: Assigned value is garbage or undefined
        ucontrol->value.integer.value[0] = val;
                                         ^ ~~~

The filter_error() macro allows errors to be ignored.
If errors can be ignored, initialize variables
so garbage will not be used.

Fixes: 48cc42973509 ("ALSA: usb-audio: Filter error from connector kctl ops, too")
Signed-off-by: Tom Rix <trix@redhat.com>
---
 sound/usb/mixer.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Takashi Iwai Jan. 27, 2022, 1:41 p.m. UTC | #1
On Wed, 26 Jan 2022 19:21:42 +0100,
trix@redhat.com wrote:
> 
> From: Tom Rix <trix@redhat.com>
> 
> clang static analysis reports this representative issue
> mixer.c:1548:35: warning: Assigned value is garbage or undefined
>         ucontrol->value.integer.value[0] = val;
>                                          ^ ~~~
> 
> The filter_error() macro allows errors to be ignored.
> If errors can be ignored, initialize variables
> so garbage will not be used.
> 
> Fixes: 48cc42973509 ("ALSA: usb-audio: Filter error from connector kctl ops, too")
> Signed-off-by: Tom Rix <trix@redhat.com>

Thanks, applied.


Takashi
diff mbox series

Patch

diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index e8f3f8d622ec5..630766ba259fd 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -1527,6 +1527,10 @@  static int get_connector_value(struct usb_mixer_elem_info *cval,
 		usb_audio_err(chip,
 			"cannot get connectors status: req = %#x, wValue = %#x, wIndex = %#x, type = %d\n",
 			UAC_GET_CUR, validx, idx, cval->val_type);
+
+		if (val)
+			*val = 0;
+
 		return filter_error(cval, ret);
 	}