wil6210: add general initialization/size checks
authorAlexei Avshalom Lazar <ailizaro@codeaurora.org>
Wed, 31 Oct 2018 08:52:17 +0000 (10:52 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 6 Nov 2018 16:03:22 +0000 (18:03 +0200)
Initialize unset variable, and verify that mid is valid.

Signed-off-by: Alexei Avshalom Lazar <ailizaro@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/debugfs.c
drivers/net/wireless/ath/wil6210/wmi.c

index aa50813a05952256bb76d19a39f66b7e28011e45..099a04b915512b2e10134e7649bbe60f6532abe4 100644 (file)
@@ -962,6 +962,8 @@ static ssize_t wil_write_file_txmgmt(struct file *file, const char __user *buf,
        int rc;
        void *frame;
 
+       memset(&params, 0, sizeof(params));
+
        if (!len)
                return -EINVAL;
 
index fa08a9637f44b28283e7fd775afdca314df67ef9..f46c703ca570fcb3f8f82f186055ea08b4e23221 100644 (file)
@@ -3148,7 +3148,7 @@ static void wmi_event_handle(struct wil6210_priv *wil,
 
                if (mid == MID_BROADCAST)
                        mid = 0;
-               if (mid >= wil->max_vifs) {
+               if (mid >= ARRAY_SIZE(wil->vifs) || mid >= wil->max_vifs) {
                        wil_dbg_wmi(wil, "invalid mid %d, event skipped\n",
                                    mid);
                        return;