diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2006-11-17 18:05:04 +0300 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 08:24:02 +0300 |
commit | eafff86d3bd80403c808f67f5389813fdb5bd6c8 (patch) | |
tree | da04350a38b970c430445a09d225e40daa45cec4 /net | |
parent | 0459d70add3f7ca5d433d4b2334cc6ec9ddab05b (diff) | |
download | linux-eafff86d3bd80403c808f67f5389813fdb5bd6c8.tar.xz |
[NETROM]: Use kmemdup
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/netrom/nr_route.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/net/netrom/nr_route.c b/net/netrom/nr_route.c index c11737f472d6..0096105bcd47 100644 --- a/net/netrom/nr_route.c +++ b/net/netrom/nr_route.c @@ -155,14 +155,15 @@ static int nr_add_node(ax25_address *nr, const char *mnemonic, ax25_address *ax2 atomic_set(&nr_neigh->refcount, 1); if (ax25_digi != NULL && ax25_digi->ndigi > 0) { - if ((nr_neigh->digipeat = kmalloc(sizeof(*ax25_digi), GFP_KERNEL)) == NULL) { + nr_neigh->digipeat = kmemdup(ax25_digi, + sizeof(*ax25_digi), + GFP_KERNEL); + if (nr_neigh->digipeat == NULL) { kfree(nr_neigh); if (nr_node) nr_node_put(nr_node); return -ENOMEM; } - memcpy(nr_neigh->digipeat, ax25_digi, - sizeof(*ax25_digi)); } spin_lock_bh(&nr_neigh_list_lock); @@ -432,11 +433,12 @@ static int nr_add_neigh(ax25_address *callsign, ax25_digi *ax25_digi, struct net atomic_set(&nr_neigh->refcount, 1); if (ax25_digi != NULL && ax25_digi->ndigi > 0) { - if ((nr_neigh->digipeat = kmalloc(sizeof(*ax25_digi), GFP_KERNEL)) == NULL) { + nr_neigh->digipeat = kmemdup(ax25_digi, sizeof(*ax25_digi), + GFP_KERNEL); + if (nr_neigh->digipeat == NULL) { kfree(nr_neigh); return -ENOMEM; } - memcpy(nr_neigh->digipeat, ax25_digi, sizeof(*ax25_digi)); } spin_lock_bh(&nr_neigh_list_lock); |