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>
Fri, 13 Dec 2019 07:52:59 +0000 (08:52 +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 943d66fd860cea3d6a49fb567acbde2819d3c3e2..2880ac47037902a264584151a111ce875e40d7d5 100644 (file)
@@ -1925,6 +1925,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;
        }