|
@@ -549,14 +549,13 @@ int nfc_llcp_set_remote_gb(struct nfc_dev *dev, u8 *gb, u8 gb_len)
|
|
|
pr_err("No LLCP device\n");
|
|
|
return -ENODEV;
|
|
|
}
|
|
|
+ if (gb_len < 3)
|
|
|
+ return -EINVAL;
|
|
|
|
|
|
memset(local->remote_gb, 0, NFC_MAX_GT_LEN);
|
|
|
memcpy(local->remote_gb, gb, gb_len);
|
|
|
local->remote_gb_len = gb_len;
|
|
|
|
|
|
- if (local->remote_gb == NULL || local->remote_gb_len == 0)
|
|
|
- return -ENODEV;
|
|
|
-
|
|
|
if (memcmp(local->remote_gb, llcp_magic, 3)) {
|
|
|
pr_err("MAC does not support LLCP\n");
|
|
|
return -EINVAL;
|