mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-18 02:46:06 +00:00
ASoC: rt5645: NULL pointer access when removing jack
Machine driver calls snd_soc_component_set_jack() function with NULL jack and data parameters when removing jack in codec exit function. Do not access data when jack is NULL. Signed-off-by: Brent Lu <brent.lu@intel.com> Link: https://lore.kernel.org/r/20230904104046.4150208-1-brent.lu@intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
d1cf5d30b4
commit
5366a64033
@ -3269,13 +3269,17 @@ static int rt5645_component_set_jack(struct snd_soc_component *component,
|
||||
{
|
||||
struct snd_soc_jack *mic_jack = NULL;
|
||||
struct snd_soc_jack *btn_jack = NULL;
|
||||
int *type = (int *)data;
|
||||
int type;
|
||||
|
||||
if (*type & SND_JACK_MICROPHONE)
|
||||
mic_jack = hs_jack;
|
||||
if (*type & (SND_JACK_BTN_0 | SND_JACK_BTN_1 |
|
||||
SND_JACK_BTN_2 | SND_JACK_BTN_3))
|
||||
btn_jack = hs_jack;
|
||||
if (hs_jack) {
|
||||
type = *(int *)data;
|
||||
|
||||
if (type & SND_JACK_MICROPHONE)
|
||||
mic_jack = hs_jack;
|
||||
if (type & (SND_JACK_BTN_0 | SND_JACK_BTN_1 |
|
||||
SND_JACK_BTN_2 | SND_JACK_BTN_3))
|
||||
btn_jack = hs_jack;
|
||||
}
|
||||
|
||||
return rt5645_set_jack_detect(component, hs_jack, mic_jack, btn_jack);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user