diff options
author | Thomas Graf <tgr@lsx.localdomain> | 2008-05-15 13:45:41 +0200 |
---|---|---|
committer | Thomas Graf <tgr@lsx.localdomain> | 2008-05-15 13:45:41 +0200 |
commit | ef50a38fbd8682a5c9efd559e7db68664977f080 (patch) | |
tree | 0e3ab31aedfa204c19fdb988efc3f1c92e6afd4b /lib/route/link.c | |
parent | 1155370f520cb64657e25153255cf7dc1424317f (diff) | |
download | libnl-ef50a38fbd8682a5c9efd559e7db68664977f080.tar.gz |
Fix memory leaks when sending of message failed
Various callers of nl_send_auto_complete() failed to
free the allocated message when an error was reported.
Diffstat (limited to 'lib/route/link.c')
-rw-r--r-- | lib/route/link.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/route/link.c b/lib/route/link.c index 34bc83b..b894cab 100644 --- a/lib/route/link.c +++ b/lib/route/link.c @@ -1047,10 +1047,11 @@ int rtnl_link_change(struct nl_sock *sk, struct rtnl_link *old, if ((err = rtnl_link_build_change_request(old, tmpl, flags, &msg)) < 0) return err; - if ((err = nl_send_auto_complete(sk, msg)) < 0) + err = nl_send_auto_complete(sk, msg); + nlmsg_free(msg); + if (err < 0) return err; - nlmsg_free(msg); return nl_wait_for_ack(sk); } |