[PATCH 2/3] mesh: Fix a memory leak on error path
Masashi Honma
masashi.honma at gmail.com
Fri Apr 13 01:38:35 PDT 2018
1523604178.526129: MEMLEAK[0x28b9ca0]: len 112
1523604178.526939: WPA_TRACE: memleak - START
1523604178.531207: [0]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(os_malloc+0x8e) [0x4535ee]
1523604178.531237: os_malloc() ../src/utils/os_unix.c:702
1523604178.531248: [1]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(os_zalloc+0xe) [0x453b1e]
1523604178.531255: os_zalloc() ../src/utils/os_unix.c:761
1523604178.531911: [2]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(wpa_supplicant_join_mesh+0x2e) [0x45bd8e]
1523604178.531922: wpa_supplicant_join_mesh() mesh.c:436
1523604178.537005: [3]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(wpa_supplicant_associate+0x115) [0x5b9795]
1523604178.537038: wpa_supplicant_associate() wpa_supplicant.c:1913
1523604178.537957: [4]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant() [0x5c8eac]
1523604178.537976: wpa_supplicant_scan() scan.c:829
1523604178.538243: [5]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(eloop_run+0x1d4) [0x455964]
1523604178.538255: eloop_run() ../src/utils/eloop.c:1196
1523604178.538291: [6]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(wpa_supplicant_run+0x77) [0x5b5a97]
1523604178.538329: wpa_supplicant_run() wpa_supplicant.c:6175
1523604178.538609: [7]: /home/honma/git/hostap/tests/hwsim/../../wpa_supplicant/wpa_supplicant(main+0x3b0) [0x4404c0]
1523604178.538620: main() main.c:392
1523604178.538624: WPA_TRACE: memleak - END
1523604178.538626: MEMLEAK: total 112 bytes
Signed-off-by: Masashi Honma <masashi.honma at gmail.com>
---
wpa_supplicant/mesh.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c
index 9450bc4..a5c748a 100644
--- a/wpa_supplicant/mesh.c
+++ b/wpa_supplicant/mesh.c
@@ -433,8 +433,10 @@ int wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s,
os_zalloc(sizeof(struct wpa_driver_mesh_join_params));
int ret = 0;
- if (!ssid || !ssid->ssid || !ssid->ssid_len || !ssid->frequency || !params) {
+ if (!ssid || !ssid->ssid || !ssid->ssid_len || !ssid->frequency ||
+ !params) {
ret = -ENOENT;
+ os_free(params);
goto out;
}
--
2.7.4
More information about the Hostap
mailing list