diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index 5c75118539bb73d170c92cbba28851dbf7d593cf..e72076337638749ececd9ed6c83e5242db51f950 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -857,6 +857,11 @@ static int qrtr_recvmsg(struct socket *sock, struct msghdr *msg, rc = copied; if (addr) { + /* There is an anonymous 2-byte hole after sq_family, + * make sure to clear it. + */ + memset(addr, 0, sizeof(*addr)); + cb = (struct qrtr_cb *)skb->cb; addr->sq_family = AF_QIPCRTR; addr->sq_node = cb->src_node;