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

NFC: pn533: double free on error in probe()

We can't pass devm_ allocated pointers to kfree() because they will be
freed again after the drive is unloaded.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>

authored by

Dan Carpenter and committed by
Samuel Ortiz
6d2f70ca f86dec94

+3 -6
+3 -6
drivers/nfc/pn533/usb.c
··· 464 464 return -ENOMEM; 465 465 466 466 in_buf = kzalloc(in_buf_len, GFP_KERNEL); 467 - if (!in_buf) { 468 - rc = -ENOMEM; 469 - goto out_free_phy; 470 - } 467 + if (!in_buf) 468 + return -ENOMEM; 471 469 472 470 phy->udev = usb_get_dev(interface_to_usbdev(interface)); 473 471 phy->interface = interface; ··· 552 554 usb_free_urb(phy->out_urb); 553 555 usb_put_dev(phy->udev); 554 556 kfree(in_buf); 555 - out_free_phy: 556 - kfree(phy); 557 + 557 558 return rc; 558 559 } 559 560