diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-04-27 17:39:41 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-10-20 23:54:01 -0700 |
commit | dd5166e5ba2bba743c9a260631e1ef15b054ba31 (patch) | |
tree | 8300f5b8a17ea311baf856b6ef434c8bba6524e1 | |
parent | b836277e4064e178a5b5f136f40ebb16278318d0 (diff) | |
download | neard-dd5166e5ba2bba743c9a260631e1ef15b054ba31.tar.gz neard-dd5166e5ba2bba743c9a260631e1ef15b054ba31.tar.bz2 neard-dd5166e5ba2bba743c9a260631e1ef15b054ba31.zip |
netlink: Fix segfault for NFC disabled systems
-rw-r--r-- | src/netlink.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/netlink.c b/src/netlink.c index 97cd01e..bf7d085 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -154,6 +154,9 @@ int __near_netlink_get_adapters(void) DBG(""); + if (nfc_state->nlnfc == NULL) + return -ENODEV; + msg = nlmsg_alloc(); if (msg == NULL) return -ENOMEM; @@ -493,10 +496,12 @@ state_free: void __near_netlink_cleanup(void) { - g_io_channel_shutdown(netlink_channel, TRUE, NULL); - g_io_channel_unref(netlink_channel); + if (netlink_channel != NULL) { + g_io_channel_shutdown(netlink_channel, TRUE, NULL); + g_io_channel_unref(netlink_channel); - netlink_channel = NULL; + netlink_channel = NULL; + } genl_family_put(nfc_state->nlnfc); nl_cache_free(nfc_state->nl_cache); |