net: ieee802154: fix error return code in dgram_bind()
authorWei Yongjun <weiyongjun1@huawei.com>
Mon, 19 Sep 2022 16:08:30 +0000 (16:08 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Nov 2022 14:59:14 +0000 (23:59 +0900)
commit 444d8ad4916edec8a9fc684e841287db9b1e999f upstream.

Fix to return error code -EINVAL from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: 94160108a70c ("net/ieee802154: fix uninit value bug in dgram_sendmsg")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Link: https://lore.kernel.org/r/20220919160830.1436109-1-weiyongjun@huaweicloud.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ieee802154/socket.c

index d0aaa03..c33f46c 100644 (file)
@@ -502,8 +502,10 @@ static int dgram_bind(struct sock *sk, struct sockaddr *uaddr, int len)
        if (err < 0)
                goto out;
 
-       if (addr->family != AF_IEEE802154)
+       if (addr->family != AF_IEEE802154) {
+               err = -EINVAL;
                goto out;
+       }
 
        ieee802154_addr_from_sa(&haddr, &addr->addr);
        dev = ieee802154_get_dev(sock_net(sk), &haddr);