Fix missing memory deallocation on error paths in wil_write_file_wmi()
and wil_write_file_txmgmt().
Reported-by: Ahmed Tamrawi <ahmedtamrawi@gmail.com>
Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
        if (!frame)
                return -ENOMEM;
 
-       if (copy_from_user(frame, buf, len))
+       if (copy_from_user(frame, buf, len)) {
+               kfree(frame);
                return -EIO;
+       }
 
        params.buf = frame;
        params.len = len;
                return -ENOMEM;
 
        rc = simple_write_to_buffer(wmi, len, ppos, buf, len);
-       if (rc < 0)
+       if (rc < 0) {
+               kfree(wmi);
                return rc;
+       }
 
        cmd = &wmi[1];
        cmdid = le16_to_cpu(wmi->id);