Unverified Commit a74e7ec1 authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!3686 Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg

parents 7af62ccc ff923ebb
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -263,11 +263,14 @@ int bt_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
	if (flags & MSG_OOB)
		return -EOPNOTSUPP;

	lock_sock(sk);

	skb = skb_recv_datagram(sk, flags, noblock, &err);
	if (!skb) {
		if (sk->sk_shutdown & RCV_SHUTDOWN)
			return 0;
			err = 0;

		release_sock(sk);
		return err;
	}

@@ -293,6 +296,8 @@ int bt_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,

	skb_free_datagram(sk, skb);

	release_sock(sk);

	if (flags & MSG_TRUNC)
		copied = skblen;