2013-06-26 15:15:12

by John W. Linville

[permalink] [raw]
Subject: [PATCH] iw: reorder some code in iw_connect to avoid a potential memory leak

From: "John W. Linville" <[email protected]>

>From Coverity run on version 3.10:

iw-3.10/connect.c:104:leaked_storage –
Variable "conn_argv" going out of scope leaks the storage it points to.

Signed-off-by: John W. Linville <[email protected]>
---
connect.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/connect.c b/connect.c
index 74e4578..fb3b2fe 100644
--- a/connect.c
+++ b/connect.c
@@ -94,15 +94,15 @@ static int iw_connect(struct nl80211_state *state, struct nl_cb *cb,
argv++;
}

+ err = __prepare_listen_events(state);
+ if (err)
+ return err;
+
conn_argc = 3 + argc;
conn_argv = calloc(conn_argc, sizeof(*conn_argv));
if (!conn_argv)
return -ENOMEM;

- err = __prepare_listen_events(state);
- if (err)
- return err;
-
conn_argv[0] = dev;
conn_argv[1] = "connect";
conn_argv[2] = "establish";
--
1.8.1.4