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 a37896fcd683061d31c0de550798043a517ce913..4034f400fff994e216cf1b9adde9b073ae46e417 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--;