If 32 bytes of non zero are passed in pdata->pointer then the mac_pton
function will run off the end of the buffer. Make sure we always have a
terminated string kernel side.
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        struct list_head *plist, *phead;
        unsigned char *pbuf;
        u8 bssid[ETH_ALEN];
-       char data[32];
+       char data[33];
 
        if (padapter->bDriverStopped || (pdata == NULL))
                return -EINVAL;
        if (pdata->length >= 32) {
                if (copy_from_user(data, pdata->pointer, 32))
                        return -EINVAL;
+                data[32] = 0;
        } else {
                 return -EINVAL;
        }