if(*(t++) == MFIE_TYPE_CHALLENGE){
*chlen = *(t++);
- *challenge = kmalloc(*chlen, GFP_ATOMIC);
- memcpy(*challenge, t, *chlen);
+ *challenge = kmemdup(t, *chlen, GFP_ATOMIC);
+ if (!*challenge)
+ return -ENOMEM;
}
}
cancel_delayed_work(&ieee->GPIOChangeRFWorkItem);
destroy_workqueue(ieee->wq);
- if(NULL != ieee->pDot11dInfo)
- kfree(ieee->pDot11dInfo);
+ kfree(ieee->pDot11dInfo);
up(&ieee->wx_sem);
}