ALSA: hda/realtek - Fix mem leak (and rid us of trailing whitespace).
In sound/pci/hda/patch_realtek.c::alc_auto_fill_dac_nids(), in the 'for (;;)' loop, if the 'badness' value returned from fill_and_eval_dacs() is negative, then we'll return from the function without freeing the memory we allocated for 'best_cfg', thus leaking. Fix the leak by kfree()'ing the memory when badness is negative. While I was there I also noticed some trailing whitespace in the function that I removed (along with all other trailing whitespace in the file) - it didn't seem worth-while to do that as two patches, so I hope it's OK that I just did it all as one patch. Signed-off-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
29ebe40284
commit
7d7eb9ea31
@@ -3398,8 +3398,10 @@ static int alc_auto_fill_dac_nids(struct hda_codec *codec)
|
|||||||
for (;;) {
|
for (;;) {
|
||||||
badness = fill_and_eval_dacs(codec, fill_hardwired,
|
badness = fill_and_eval_dacs(codec, fill_hardwired,
|
||||||
fill_mio_first);
|
fill_mio_first);
|
||||||
if (badness < 0)
|
if (badness < 0) {
|
||||||
|
kfree(best_cfg);
|
||||||
return badness;
|
return badness;
|
||||||
|
}
|
||||||
debug_badness("==> lo_type=%d, wired=%d, mio=%d, badness=0x%x\n",
|
debug_badness("==> lo_type=%d, wired=%d, mio=%d, badness=0x%x\n",
|
||||||
cfg->line_out_type, fill_hardwired, fill_mio_first,
|
cfg->line_out_type, fill_hardwired, fill_mio_first,
|
||||||
badness);
|
badness);
|
||||||
|
Reference in New Issue
Block a user