import PULS_20180308
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / connectivity / combo / common / linux / wmt_dev.c
index 858aef71b762c65b481625daca4aff30850dbf9d..51c8b6796b09b67d725541d308ebffa8bf0bc24a 100644 (file)
@@ -1163,13 +1163,20 @@ long WMT_unlocked_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 
        case WMT_IOCTL_SET_PATCH_NUM:{
                        pAtchNum = arg;
-                       WMT_INFO_FUNC(" get patch num from launcher = %d\n", pAtchNum);
-                       wmt_lib_set_patch_num(pAtchNum);
-                       pPatchInfo = kzalloc(sizeof(WMT_PATCH_INFO) *pAtchNum, GFP_ATOMIC);
+                       if (pAtchNum == 0 || pAtchNum > MAX_PATCH_NUM) {
+                                       WMT_ERR_FUNC("patch num(%d) == 0 or > %d!\n", pAtchNum, MAX_PATCH_NUM);
+                                       iRet = -1;
+                                       break;
+                       }
+
+                       pPatchInfo = kzalloc(sizeof(WMT_PATCH_INFO) * pAtchNum, GFP_ATOMIC);
                        if (!pPatchInfo) {
                                WMT_ERR_FUNC("allocate memory fail!\n");
+                               iRet = -EFAULT;
                                break;
                        }
+                       WMT_INFO_FUNC(" get patch num from launcher = %d\n", pAtchNum);
+                       wmt_lib_set_patch_num(pAtchNum);
                }
                break;