staging: rtl8192e: Use kmemdup rather than duplicating its implementation
authorThomas Meyer <thomas@m3y3r.de>
Tue, 8 Nov 2011 19:30:20 +0000 (20:30 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sun, 27 Nov 2011 01:21:17 +0000 (17:21 -0800)
 Use kmemdup rather than duplicating its implementation

 The semantic patch that makes this change is available
 in scripts/coccinelle/api/memdup.cocci.

 More information about semantic patching is available at
 http://coccinelle.lip6.fr/

Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/rtl8192e/rtllib_wx.c

index a8fd2e1..b4f00e5 100644 (file)
@@ -845,10 +845,9 @@ int rtllib_wx_set_gen_ie(struct rtllib_device *ieee, u8 *ie, size_t len)
 
                        ieee->wps_ie_len = (len < MAX_WZC_IE_LEN) ? (len) :
                                           (MAX_WZC_IE_LEN);
-                       buf = kmalloc(ieee->wps_ie_len, GFP_KERNEL);
+                       buf = kmemdup(ie, ieee->wps_ie_len, GFP_KERNEL);
                        if (buf == NULL)
                                return -ENOMEM;
-                       memcpy(buf, ie, ieee->wps_ie_len);
                        ieee->wps_ie = buf;
                        return 0;
                }
@@ -859,10 +858,9 @@ int rtllib_wx_set_gen_ie(struct rtllib_device *ieee, u8 *ie, size_t len)
        if (len) {
                if (len != ie[1]+2)
                        return -EINVAL;
-               buf = kmalloc(len, GFP_KERNEL);
+               buf = kmemdup(ie, len, GFP_KERNEL);
                if (buf == NULL)
                        return -ENOMEM;
-               memcpy(buf, ie, len);
                kfree(ieee->wpa_ie);
                ieee->wpa_ie = buf;
                ieee->wpa_ie_len = len;