diff options
Diffstat (limited to 'net/nfc')
-rw-r--r-- | net/nfc/nci/hci.c | 2 | ||||
-rw-r--r-- | net/nfc/netlink.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/net/nfc/nci/hci.c b/net/nfc/nci/hci.c index af002df64..609f92283 100644 --- a/net/nfc/nci/hci.c +++ b/net/nfc/nci/hci.c @@ -233,7 +233,7 @@ int nci_hci_send_cmd(struct nci_dev *ndev, u8 gate, u8 cmd, r = nci_request(ndev, nci_hci_send_data_req, (unsigned long)&data, msecs_to_jiffies(NCI_DATA_TIMEOUT)); - if (r == NCI_STATUS_OK) + if (r == NCI_STATUS_OK && skb) *skb = conn_info->rx_skb; return r; diff --git a/net/nfc/netlink.c b/net/nfc/netlink.c index f85f37ed1..73d1ca7c5 100644 --- a/net/nfc/netlink.c +++ b/net/nfc/netlink.c @@ -1518,12 +1518,13 @@ static int nfc_genl_vendor_cmd(struct sk_buff *skb, if (!dev || !dev->vendor_cmds || !dev->n_vendor_cmds) return -ENODEV; - data = nla_data(info->attrs[NFC_ATTR_VENDOR_DATA]); - if (data) { + if (info->attrs[NFC_ATTR_VENDOR_DATA]) { + data = nla_data(info->attrs[NFC_ATTR_VENDOR_DATA]); data_len = nla_len(info->attrs[NFC_ATTR_VENDOR_DATA]); if (data_len == 0) return -EINVAL; } else { + data = NULL; data_len = 0; } |