[PATCH 06/18] ALSA: compress_offload: dereference after checking for NULL pointer

Vinod Koul vkoul at kernel.org
Thu Sep 3 06:47:50 CEST 2020


On 02-09-20, 16:21, Pierre-Louis Bossart wrote:
> Fix cppcheck warning and only dereference once the initial checks are
> done:
> 
> sound/core/compress_offload.c:516:38: warning: Either the condition
> '!stream' is redundant or there is possible null pointer dereference:
> stream. [nullPointerRedundantCheck]
>  struct snd_compr_runtime *runtime = stream->runtime;
>                                      ^
> sound/core/compress_offload.c:518:17: note: Assuming that condition
> '!stream' is not redundant
> if (snd_BUG_ON(!(stream) || !(stream)->runtime))
>                 ^
> sound/core/compress_offload.c:516:38: note: Null pointer dereference
>  struct snd_compr_runtime *runtime = stream->runtime;
>                                      ^

Acked-By: Vinod Koul <vkoul at kernel.org>

> 
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
> ---
>  sound/core/compress_offload.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index 0e53f6f31916..e3eb314acb10 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -513,10 +513,11 @@ EXPORT_SYMBOL(snd_compr_malloc_pages);
>  
>  int snd_compr_free_pages(struct snd_compr_stream *stream)
>  {
> -	struct snd_compr_runtime *runtime = stream->runtime;
> +	struct snd_compr_runtime *runtime;
>  
>  	if (snd_BUG_ON(!(stream) || !(stream)->runtime))
>  		return -EINVAL;
> +	runtime = stream->runtime;
>  	if (runtime->dma_area == NULL)
>  		return 0;
>  	if (runtime->dma_buffer_p != &stream->dma_buffer) {
> -- 
> 2.25.1

-- 
~Vinod


More information about the Alsa-devel mailing list