patch-2.4.6 linux/drivers/net/appletalk/ipddp.c
Next file: linux/drivers/net/arlan.c
Previous file: linux/drivers/net/am79c961a.c
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Wed Jun 27 17:10:55 2001
- Orig file:
v2.4.5/linux/drivers/net/appletalk/ipddp.c
- Orig date:
Wed May 16 10:31:27 2001
diff -u --recursive --new-file v2.4.5/linux/drivers/net/appletalk/ipddp.c linux/drivers/net/appletalk/ipddp.c
@@ -255,22 +255,26 @@
static int ipddp_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{
struct ipddp_route *rt = (struct ipddp_route *)ifr->ifr_data;
+ struct ipddp_route rcp;
if(!capable(CAP_NET_ADMIN))
return -EPERM;
+ if(copy_from_user(&rcp, rt, sizeof(rcp)))
+ return -EFAULT;
+
switch(cmd)
{
case SIOCADDIPDDPRT:
- return (ipddp_create(rt));
+ return (ipddp_create(&rcp));
case SIOCFINDIPDDPRT:
- if(copy_to_user(rt, ipddp_find_route(rt), sizeof(struct ipddp_route)))
+ if(copy_to_user(rt, ipddp_find_route(&rcp), sizeof(struct ipddp_route)))
return -EFAULT;
return 0;
case SIOCDELIPDDPRT:
- return (ipddp_delete(rt));
+ return (ipddp_delete(&rcp));
default:
return -EINVAL;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)