diff options
-rw-r--r-- | src/platform/nm-linux-platform.c | 5 |
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); |