diff options
author | Veerendranath Jakkam <vjakkam@codeaurora.org> | 2020-12-22 19:10:16 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2021-01-05 05:20:08 -0800 |
commit | 9f1c012809ec347a1b1325cabd745a3bdf98c689 (patch) | |
tree | 6876672c95743d726180ed0125c9a7202c665b5d | |
parent | 9d68e9112ac8f5fee7d3942e60ed5a526a5591da (diff) |
wpa_supplicant_8_lib: Fix instances of using same buf for cmd and reply
Using same buffer for command and reply is not correct as reply buf may get
reset before processing command in wpa_driver_nl80211_driver_cmd().
Change-Id: I3fa5ed9a5ad3377f4aa4db28f2a23295f3129063
CRs-Fixed: 2837675
-rw-r--r-- | qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c index a0a1c6e..5f95979 100644 --- a/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c +++ b/qcwcn/wpa_supplicant_8_lib/driver_cmd_nl80211.c @@ -1448,11 +1448,13 @@ int wpa_driver_nl80211_driver_cmd(void *priv, char *cmd, char *buf, int wpa_driver_set_p2p_noa(void *priv, u8 count, int start, int duration) { char buf[MAX_DRV_CMD_SIZE]; + char reply_buf[MAX_DRV_CMD_SIZE]; memset(buf, 0, sizeof(buf)); + memset(reply_buf, 0, sizeof(reply_buf)); wpa_printf(MSG_DEBUG, "%s: Entry", __func__); snprintf(buf, sizeof(buf), "P2P_SET_NOA %d %d %d", count, start, duration); - return wpa_driver_nl80211_driver_cmd(priv, buf, buf, strlen(buf)+1); + return wpa_driver_nl80211_driver_cmd(priv, buf, reply_buf, sizeof(reply_buf)); } int wpa_driver_get_p2p_noa(void *priv, u8 *buf, size_t len) @@ -1465,11 +1467,13 @@ int wpa_driver_get_p2p_noa(void *priv, u8 *buf, size_t len) int wpa_driver_set_p2p_ps(void *priv, int legacy_ps, int opp_ps, int ctwindow) { char buf[MAX_DRV_CMD_SIZE]; + char reply_buf[MAX_DRV_CMD_SIZE]; memset(buf, 0, sizeof(buf)); + memset(reply_buf, 0, sizeof(reply_buf)); wpa_printf(MSG_DEBUG, "%s: Entry", __func__); snprintf(buf, sizeof(buf), "P2P_SET_PS %d %d %d", legacy_ps, opp_ps, ctwindow); - return wpa_driver_nl80211_driver_cmd(priv, buf, buf, strlen(buf) + 1); + return wpa_driver_nl80211_driver_cmd(priv, buf, reply_buf, sizeof(reply_buf)); } int wpa_driver_set_ap_wps_p2p_ie(void *priv, const struct wpabuf *beacon, |