]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[rtl818x] Fix resource leak on error path
authorMichael Brown <mcb30@ipxe.org>
Thu, 23 Mar 2017 09:40:23 +0000 (11:40 +0200)
committerMichael Brown <mcb30@ipxe.org>
Thu, 23 Mar 2017 09:40:36 +0000 (11:40 +0200)
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/net/rtl818x/rtl818x.c

index 8b3c206d46b5eb7f0f49dc3a111c3becf535e58d..f5082084e9e2d30cbf69577377799ead5d1b8a21 100644 (file)
@@ -663,7 +663,8 @@ int rtl818x_probe(struct pci_device *pdev )
        hwinfo = zalloc(sizeof(*hwinfo));
        if (!hwinfo) {
                DBG("rtl818x: hwinfo alloc failed\n");
-               return -ENOMEM;
+               err = -ENOMEM;
+               goto err_alloc_hwinfo;
        }
 
        adjust_pci_device(pdev);
@@ -671,7 +672,8 @@ int rtl818x_probe(struct pci_device *pdev )
        dev = net80211_alloc(sizeof(*priv));
        if (!dev) {
                DBG("rtl818x: net80211 alloc failed\n");
-               return -ENOMEM;
+               err = -ENOMEM;
+               goto err_alloc_dev;
        }
 
        priv = dev->priv;
@@ -816,7 +818,9 @@ int rtl818x_probe(struct pci_device *pdev )
  err_free_dev:
        pci_set_drvdata(pdev, NULL);
        net80211_free(dev);
+ err_alloc_dev:
        free(hwinfo);
+ err_alloc_hwinfo:
        return err;
 }