summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/platform/nm-linux-platform.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index 0f8b80d197..0160c16d8f 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -540,6 +540,7 @@ nm_rtnl_link_parse_info_data (struct nl_sock *sk, int ifindex,
NMNLInfoDataClosure data = { .parser = parser, .parser_data = parser_data };
struct nl_msg *msg = NULL;
struct nl_cb *cb;
+ struct nl_cb *cb0;
int err;
err = rtnl_link_build_get_request (ifindex, NULL, &msg);
@@ -551,7 +552,9 @@ nm_rtnl_link_parse_info_data (struct nl_sock *sk, int ifindex,
if (err < 0)
return err;
- cb = nl_cb_clone (nl_socket_get_cb (sk));
+ cb0 = nl_socket_get_cb (sk);
+ cb = nl_cb_clone (cb0);
+ nl_cb_put (cb0);
if (cb == NULL)
return -NLE_NOMEM;
nl_cb_set (cb, NL_CB_VALID, NL_CB_CUSTOM, info_data_parser, &data);