diff --git a/[refs] b/[refs] index c90bed1b2f56..f6d82b803fce 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9fef76857feed8e94ca3a5ee37db644f04a9488b +refs/heads/master: 6cf5c951175abcec4da470c50565cc0afe6cd11d diff --git a/trunk/net/netrom/af_netrom.c b/trunk/net/netrom/af_netrom.c index 06592d8b4a2b..1b9024ee963c 100644 --- a/trunk/net/netrom/af_netrom.c +++ b/trunk/net/netrom/af_netrom.c @@ -1169,7 +1169,12 @@ static int nr_recvmsg(struct kiocb *iocb, struct socket *sock, msg->msg_flags |= MSG_TRUNC; } - skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); + er = skb_copy_datagram_iovec(skb, 0, msg->msg_iov, copied); + if (er < 0) { + skb_free_datagram(sk, skb); + release_sock(sk); + return er; + } if (sax != NULL) { sax->sax25_family = AF_NETROM;