diff options
Diffstat (limited to 'net/socket.c')
-rw-r--r-- | net/socket.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/socket.c b/net/socket.c index 23898f45f713..02948b622bd2 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -267,6 +267,8 @@ int move_addr_to_user(void *kaddr, int klen, void __user *uaddr, int __user *ule | |||
267 | return -EINVAL; | 267 | return -EINVAL; |
268 | if(len) | 268 | if(len) |
269 | { | 269 | { |
270 | if (audit_sockaddr(klen, kaddr)) | ||
271 | return -ENOMEM; | ||
270 | if(copy_to_user(uaddr,kaddr,len)) | 272 | if(copy_to_user(uaddr,kaddr,len)) |
271 | return -EFAULT; | 273 | return -EFAULT; |
272 | } | 274 | } |
@@ -490,6 +492,7 @@ static struct socket *sockfd_lookup_light(int fd, int *err, int *fput_needed) | |||
490 | struct file *file; | 492 | struct file *file; |
491 | struct socket *sock; | 493 | struct socket *sock; |
492 | 494 | ||
495 | *err = -EBADF; | ||
493 | file = fget_light(fd, fput_needed); | 496 | file = fget_light(fd, fput_needed); |
494 | if (file) { | 497 | if (file) { |
495 | sock = sock_from_file(file, err); | 498 | sock = sock_from_file(file, err); |