Add a length check in wmi_set_ie to detect unsigned integer
overflow.
Signed-off-by: Lior David <qca_liord@qca.qualcomm.com>
Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
        };
        int rc;
        u16 len = sizeof(struct wmi_set_appie_cmd) + ie_len;
-       struct wmi_set_appie_cmd *cmd = kzalloc(len, GFP_KERNEL);
+       struct wmi_set_appie_cmd *cmd;
 
+       if (len < ie_len) {
+               rc = -EINVAL;
+               goto out;
+       }
+
+       cmd = kzalloc(len, GFP_KERNEL);
        if (!cmd) {
                rc = -ENOMEM;
                goto out;