staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect()
Subsystems (2)
PATCH 1/1 staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect()
The free_rtllib() function frees the "dev" pointer so there is use after free on the next line. Re-arrange things to avoid that.
Fixes 66898177e7e5 ("staging: rtl8192e: Fix unload/reload problem")
Signed-off-by Dan Carpenter <[email protected]>
--- drivers/staging/rtl8192e/rtl8192e/rtl_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/staging/rtl8192e/rtl8192e/rtl_core.c +2 -1
@@ -2549,13 +2549,14 @@ static void _rtl92e_pci_disconnect(struct pci_dev *pdev)free_irq (dev->irq, dev); priv->irq =0 ; } -free_rtllib (dev);if (dev->mem_start !=0 ) {iounmap ((void __iomem *)dev->mem_start);release_mem_region (pci_resource_start (pdev,1 ),pci_resource_len (pdev,1 )); } + +free_rtllib (dev); }pci_disable_device (pdev);
Signature · 1 line
2.20.1