OSDN Git Service

staging: wilc1000: fix incorrect copy of pmkid data
authorColin Ian King <colin.king@canonical.com>
Thu, 16 Mar 2017 23:21:45 +0000 (23:21 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2017 06:21:18 +0000 (15:21 +0900)
The pmkid data is meant be be copied to the previous item in the
pmkidlist, however the code is just copying the data to itself because
the src index into pmkidlist is the same as the dst index into pmkidlist.
Fix this with i + 1 instead of i.

Detected by CoverityScan,CID#13339465 ("Overlapping buffer in memory copy")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wilc1000/wilc_wfi_cfgoperations.c

index a37896f..4034f40 100644 (file)
@@ -1346,7 +1346,7 @@ static int del_pmksa(struct wiphy *wiphy, struct net_device *netdev,
                               priv->pmkid_list.pmkidlist[i + 1].bssid,
                               ETH_ALEN);
                        memcpy(priv->pmkid_list.pmkidlist[i].pmkid,
-                              priv->pmkid_list.pmkidlist[i].pmkid,
+                              priv->pmkid_list.pmkidlist[i + 1].pmkid,
                               PMKID_LEN);
                }
                priv->pmkid_list.numpmkid--;