NFC: llcp: Fix possible memory leak while sending I frames
authorSzymon Janc <szymon.janc@gmail.com>
Sat, 30 Nov 2013 15:14:57 +0000 (16:14 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Sat, 4 Jan 2014 02:32:27 +0000 (03:32 +0100)
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>
net/nfc/llcp_commands.c

index 693cd1a..80057a8 100644 (file)
@@ -684,8 +684,10 @@ int nfc_llcp_send_i_frame(struct nfc_llcp_sock *sock,
 
                pdu = llcp_allocate_pdu(sock, LLCP_PDU_I,
                                        frag_len + LLCP_SEQUENCE_SIZE);
-               if (pdu == NULL)
+               if (pdu == NULL) {
+                       kfree(msg_data);
                        return -ENOMEM;
+               }
 
                skb_put(pdu, LLCP_SEQUENCE_SIZE);