OSDN Git Service

ALSA: pcm: oss: Fix regression by buffer overflow fix (again)
authorTakashi Iwai <tiwai@suse.de>
Fri, 3 Apr 2020 07:38:18 +0000 (09:38 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 3 Apr 2020 07:38:50 +0000 (09:38 +0200)
commitff7e06a55676931ab32db54f69189482a948c5ec
tree665a9c4f4615b71f0d9ac12c9c6947565410ecd4
parentdbdd24eaac4ecc482e2d433175c0e82b9f107bef
ALSA: pcm: oss: Fix regression by buffer overflow fix (again)

[ This is essentially the same fix as commit ae769d355664, but it's
  adapted to the latest code for 5.7; hence it contains no Fixes or
  other tags for avoid backport confusion -- tiwai ]

The recent fix for the OOB access in PCM OSS plugins (commit
f2ecf903ef06: "ALSA: pcm: oss: Avoid plugin buffer overflow") caused a
regression on OSS applications.  The patch introduced the size check
in client and slave size calculations to limit to each plugin's buffer
size, but I overlooked that some code paths call those without
allocating the buffer but just for estimation.

This patch fixes the bug by skipping the size check for those code
paths while keeping checking in the actual transfer calls.

Link: https://lore.kernel.org/r/20200403073818.27943-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/oss/pcm_plugin.c