appletalk: Set error code if register_snap_client failed
authorYueHaibing <yuehaibing@huawei.com>
Tue, 30 Apr 2019 11:34:08 +0000 (19:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:41:45 +0000 (10:41 +0100)
commit c93ad1337ad06a718890a89cdd85188ff9a5a5cc upstream.

If register_snap_client fails in atalk_init,
error code should be set, otherwise it will
triggers NULL pointer dereference while unloading
module.

Fixes: 9804501fa122 ("appletalk: Fix potential NULL pointer dereference in unregister_snap_client")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/appletalk/ddp.c

index d9fdc753b2ffa71f1a2499659422892950455eb6..93209c009df58f24d62a629050f75e98a0bda888 100644 (file)
@@ -1927,6 +1927,7 @@ static int __init atalk_init(void)
        ddp_dl = register_snap_client(ddp_snap_id, atalk_rcv);
        if (!ddp_dl) {
                pr_crit("Unable to register DDP with SNAP.\n");
+               rc = -ENOMEM;
                goto out_sock;
        }