summaryrefslogtreecommitdiffstats
path: root/net/netrom/nr_route.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2006-12-14 15:50:58 -0800
committerDavid S. Miller <davem@sunset.davemloft.net>2006-12-17 21:59:10 -0800
commit58bc57471514be9206ebcda90b1076f6be41d1c7 (patch)
tree684ba3b7d09464cb27dddbbc4535554ce8426f94 /net/netrom/nr_route.c
parent81dcd1690697efbdf8126e78fbbf7c76d359377f (diff)
downloadlinux-58bc57471514be9206ebcda90b1076f6be41d1c7.tar.gz
linux-58bc57471514be9206ebcda90b1076f6be41d1c7.tar.bz2
linux-58bc57471514be9206ebcda90b1076f6be41d1c7.zip
[AX.25]: Fix unchecked nr_add_node uses.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netrom/nr_route.c')
-rw-r--r--net/netrom/nr_route.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/net/netrom/nr_route.c b/net/netrom/nr_route.c
index c6aa7aa03234..8f88964099ef 100644
--- a/net/netrom/nr_route.c
+++ b/net/netrom/nr_route.c
@@ -779,9 +779,13 @@ int nr_route_frame(struct sk_buff *skb, ax25_cb *ax25)
nr_src = (ax25_address *)(skb->data + 0);
nr_dest = (ax25_address *)(skb->data + 7);
- if (ax25 != NULL)
- nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat,
- ax25->ax25_dev->dev, 0, sysctl_netrom_obsolescence_count_initialiser);
+ if (ax25 != NULL) {
+ ret = nr_add_node(nr_src, "", &ax25->dest_addr, ax25->digipeat,
+ ax25->ax25_dev->dev, 0,
+ sysctl_netrom_obsolescence_count_initialiser);
+ if (ret)
+ return ret;
+ }
if ((dev = nr_dev_get(nr_dest)) != NULL) { /* Its for me */
if (ax25 == NULL) /* Its from me */
@@ -846,6 +850,7 @@ int nr_route_frame(struct sk_buff *skb, ax25_cb *ax25)
ret = (nr_neigh->ax25 != NULL);
nr_node_unlock(nr_node);
nr_node_put(nr_node);
+
return ret;
}