فهرست منبع

sound: oxygen: fix NULL pointer dereference when loading snd-oxygen

Check that model->control_filter is set before trying to call it.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Clemens Ladisch 17 سال پیش
والد
کامیت
9f9115d880
1فایلهای تغییر یافته به همراه7 افزوده شده و 5 حذف شده
  1. 7 5
      sound/pci/oxygen/oxygen_mixer.c

+ 7 - 5
sound/pci/oxygen/oxygen_mixer.c

@@ -936,11 +936,13 @@ static int add_controls(struct oxygen *chip,
 
 	for (i = 0; i < count; ++i) {
 		template = controls[i];
-		err = chip->model->control_filter(&template);
-		if (err < 0)
-			return err;
-		if (err == 1)
-			continue;
+		if (chip->model->control_filter) {
+			err = chip->model->control_filter(&template);
+			if (err < 0)
+				return err;
+			if (err == 1)
+				continue;
+		}
 		if (!strcmp(template.name, "Master Playback Volume") &&
 		    chip->model->dac_tlv) {
 			template.tlv.p = chip->model->dac_tlv;