Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

NFC: llcp: Fix usage of llcp_add_tlv()

In functions using llcp_add_tlv(), a skb pointer could be set to NULL
and then reuse afterward.

With this patch, the skb pointer returned by llcp_add_tlv() is ignored
since it can only be the passed skb pointer or NULL when the passed TLV
is NULL. There is also no need to check for the TLV pointer as this is
done by llcp_add_tlv().

Signed-off-by: Thierry Escande <thierry.escande@collabora.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

authored by

Thierry Escande and committed by
Samuel Ortiz
de9e5aeb 204bddcb

+5 -8
+5 -8
net/nfc/llcp_commands.c
··· 438 438 goto error_tlv; 439 439 } 440 440 441 - if (service_name_tlv != NULL) 442 - skb = llcp_add_tlv(skb, service_name_tlv, 443 - service_name_tlv_length); 444 - 445 - skb = llcp_add_tlv(skb, miux_tlv, miux_tlv_length); 446 - skb = llcp_add_tlv(skb, rw_tlv, rw_tlv_length); 441 + llcp_add_tlv(skb, service_name_tlv, service_name_tlv_length); 442 + llcp_add_tlv(skb, miux_tlv, miux_tlv_length); 443 + llcp_add_tlv(skb, rw_tlv, rw_tlv_length); 447 444 448 445 skb_queue_tail(&local->tx_queue, skb); 449 446 ··· 490 493 goto error_tlv; 491 494 } 492 495 493 - skb = llcp_add_tlv(skb, miux_tlv, miux_tlv_length); 494 - skb = llcp_add_tlv(skb, rw_tlv, rw_tlv_length); 496 + llcp_add_tlv(skb, miux_tlv, miux_tlv_length); 497 + llcp_add_tlv(skb, rw_tlv, rw_tlv_length); 495 498 496 499 skb_queue_tail(&local->tx_queue, skb); 497 500