yam: fix possible memory leak in yam_init_driver
authorWang Hai <wanghai38@huawei.com>
Thu, 4 Jun 2020 12:18:51 +0000 (20:18 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Jun 2020 22:58:41 +0000 (15:58 -0700)
If register_netdev(dev) fails, free_netdev(dev) needs
to be called, otherwise a memory leak will occur.

Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hamradio/yam.c

index 71cdef9..5ab53e9 100644 (file)
@@ -1133,6 +1133,7 @@ static int __init yam_init_driver(void)
                err = register_netdev(dev);
                if (err) {
                        printk(KERN_WARNING "yam: cannot register net device %s\n", dev->name);
+                       free_netdev(dev);
                        goto error;
                }
                yam_devs[i] = dev;