X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=net%2Fsocket.c;h=cf18c5eb592efb6dbd2a0fa03ad19644bdfe2978;hb=e71a4783aae059931f63b2d4e7013e36529badef;hp=9566e57ac7f58175a71021c5959a6c81e7b426f5;hpb=42eaf0d8f2e7b8201afc00b0ebe1bd89ea51d42d;p=powerpc.git diff --git a/net/socket.c b/net/socket.c index 9566e57ac7..cf18c5eb59 100644 --- a/net/socket.c +++ b/net/socket.c @@ -1292,7 +1292,7 @@ asmlinkage long sys_bind(int fd, struct sockaddr __user *umyaddr, int addrlen) int err, fput_needed; sock = sockfd_lookup_light(fd, &err, &fput_needed); - if(sock) { + if (sock) { err = move_addr_to_kernel(umyaddr, addrlen, address); if (err >= 0) { err = security_socket_bind(sock, @@ -1381,7 +1381,7 @@ asmlinkage long sys_accept(int fd, struct sockaddr __user *upeer_sockaddr, err = sock_attach_fd(newsock, newfile); if (err < 0) - goto out_fd; + goto out_fd_simple; err = security_socket_accept(sock, newsock); if (err) @@ -1414,6 +1414,11 @@ out_put: fput_light(sock->file, fput_needed); out: return err; +out_fd_simple: + sock_release(newsock); + put_filp(newfile); + put_unused_fd(newfd); + goto out_put; out_fd: fput(newfile); put_unused_fd(newfd);