From 3c062a7eadb295779bab481aece94ba061c982db Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Tue, 1 Nov 2011 16:26:44 +0000 Subject: [PATCH] --- yaml --- r: 273516 b: refs/heads/master c: 501e89d3aef10f9a5b79137fbb0bcd5bf9cac2ac h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/x25/af_x25.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9601339f5f83..2b9187ed9157 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a3360e1e18fc6bbe10bebe416db42de5fa02dbd +refs/heads/master: 501e89d3aef10f9a5b79137fbb0bcd5bf9cac2ac diff --git a/trunk/net/x25/af_x25.c b/trunk/net/x25/af_x25.c index 5f03e4ea65bf..3e16c6abde4f 100644 --- a/trunk/net/x25/af_x25.c +++ b/trunk/net/x25/af_x25.c @@ -1261,14 +1261,19 @@ static int x25_recvmsg(struct kiocb *iocb, struct socket *sock, struct x25_sock *x25 = x25_sk(sk); struct sockaddr_x25 *sx25 = (struct sockaddr_x25 *)msg->msg_name; size_t copied; - int qbit, header_len = x25->neighbour->extended ? - X25_EXT_MIN_LEN : X25_STD_MIN_LEN; - + int qbit, header_len; struct sk_buff *skb; unsigned char *asmptr; int rc = -ENOTCONN; lock_sock(sk); + + if (x25->neighbour == NULL) + goto out; + + header_len = x25->neighbour->extended ? + X25_EXT_MIN_LEN : X25_STD_MIN_LEN; + /* * This works for seqpacket too. The receiver has ordered the queue for * us! We do one quick check first though