]> git.baikalelectronics.ru Git - kernel.git/commitdiff
ASoC: SOF: compress: fix null check after dereference
authorWeiguo Li <liwg06@foxmail.com>
Thu, 10 Mar 2022 17:16:48 +0000 (11:16 -0600)
committerMark Brown <broonie@kernel.org>
Fri, 11 Mar 2022 13:40:54 +0000 (13:40 +0000)
"cstream" is dereferenced but null checked later. Swap their
positions to avoid potential null dereference.

Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Weiguo Li <liwg06@foxmail.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220310171651.249385-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/compress.c

index 2af8d75204e9afef3146835b603d28263b089060..a8e908e5010190f3a43601f3afc5aa42ccb977ff 100644 (file)
@@ -46,8 +46,8 @@ void snd_sof_compr_init_elapsed_work(struct work_struct *work)
  */
 void snd_sof_compr_fragment_elapsed(struct snd_compr_stream *cstream)
 {
-       struct snd_soc_pcm_runtime *rtd = cstream->private_data;
-       struct snd_compr_runtime *crtd = cstream->runtime;
+       struct snd_soc_pcm_runtime *rtd;
+       struct snd_compr_runtime *crtd;
        struct snd_soc_component *component;
        struct snd_compr_tstamp *tstamp;
        struct snd_sof_pcm *spcm;
@@ -55,6 +55,8 @@ void snd_sof_compr_fragment_elapsed(struct snd_compr_stream *cstream)
        if (!cstream)
                return;
 
+       rtd = cstream->private_data;
+       crtd = cstream->runtime;
        tstamp = crtd->private_data;
        component = snd_soc_rtdcom_lookup(rtd, SOF_AUDIO_PCM_DRV_NAME);