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;