diff options
author | Szymon Janc <szymon.janc@gmail.com> | 2013-11-30 10:14:57 -0500 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2014-01-03 21:32:27 -0500 |
commit | 43d53c29dd8548404256c05573ff557c927d214b (patch) | |
tree | 92a4011a4a0eb8cf9e84621ac352002e69bc2c38 /net/nfc | |
parent | 249eb5bd74553da189fbff90c20c6d884a1db71e (diff) |
NFC: llcp: Fix possible memory leak while sending I frames
If sending was not completed due to low memory condition msg_data
was not free before returning from function.
Signed-off-by: Szymon Janc <szymon.janc@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'net/nfc')
-rw-r--r-- | net/nfc/llcp_commands.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/nfc/llcp_commands.c b/net/nfc/llcp_commands.c index 693cd1aad582..80057a818737 100644 --- a/net/nfc/llcp_commands.c +++ b/net/nfc/llcp_commands.c | |||
@@ -684,8 +684,10 @@ int nfc_llcp_send_i_frame(struct nfc_llcp_sock *sock, | |||
684 | 684 | ||
685 | pdu = llcp_allocate_pdu(sock, LLCP_PDU_I, | 685 | pdu = llcp_allocate_pdu(sock, LLCP_PDU_I, |
686 | frag_len + LLCP_SEQUENCE_SIZE); | 686 | frag_len + LLCP_SEQUENCE_SIZE); |
687 | if (pdu == NULL) | 687 | if (pdu == NULL) { |
688 | kfree(msg_data); | ||
688 | return -ENOMEM; | 689 | return -ENOMEM; |
690 | } | ||
689 | 691 | ||
690 | skb_put(pdu, LLCP_SEQUENCE_SIZE); | 692 | skb_put(pdu, LLCP_SEQUENCE_SIZE); |
691 | 693 | ||