]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: pcm: Drop superfluous NULL check in snd_pcm_format_set_silence()
authorTakashi Iwai <tiwai@suse.de>
Thu, 27 Feb 2025 09:51:49 +0000 (10:51 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 27 Feb 2025 11:25:54 +0000 (12:25 +0100)
We applied a fix for a KASAN issue for snd_pcm_format_set_silence(),
and it introduced a NULL check of pat.  But this turned out to be
utterly superfluous; it points to pcm_formats[].silence, and this is
an array, which can be never NULL.

The problem (supposedly) it tried to address at that time was likely
already fixed by another commit 8423f0b6d513 ("ALSA: pcm: oss: Fix
race at SNDCTL_DSP_SYNC") instead.

So let's drop the superfluous NULL check again.  While we're at it,
keep the whitespace fix and move the pat assignment after the width
check for a bit better code readability.

Fixes: 2f7a26abb824 ("ALSA: pcm: Test for "silence" field in struct "pcm_format_data"")
Link: https://patch.msgid.link/20250227095150.8187-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_misc.c

index 4f556211bb56d3ade58e676c3d8655c69bd7a39e..d3a08e292072ed5d324090220eb463d23fca3ff1 100644 (file)
@@ -432,9 +432,9 @@ int snd_pcm_format_set_silence(snd_pcm_format_t format, void *data, unsigned int
        if (samples == 0)
                return 0;
        width = pcm_formats[(INT)format].phys; /* physical width */
-       pat = pcm_formats[(INT)format].silence;
-       if (!width || !pat)
+       if (!width)
                return -EINVAL;
+       pat = pcm_formats[(INT)format].silence;
        /* signed or 1 byte data */
        if (pcm_formats[(INT)format].signd == 1 || width <= 8) {
                unsigned int bytes = samples * width / 8;