diff options
-rw-r--r-- | net/socket.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/socket.c b/net/socket.c index 540013ea8620..5d879fd3d01d 100644 --- a/net/socket.c +++ b/net/socket.c | |||
@@ -1250,11 +1250,14 @@ asmlinkage long sys_socketpair(int family, int type, int protocol, | |||
1250 | goto out_release_both; | 1250 | goto out_release_both; |
1251 | 1251 | ||
1252 | fd1 = sock_alloc_fd(&newfile1); | 1252 | fd1 = sock_alloc_fd(&newfile1); |
1253 | if (unlikely(fd1 < 0)) | 1253 | if (unlikely(fd1 < 0)) { |
1254 | err = fd1; | ||
1254 | goto out_release_both; | 1255 | goto out_release_both; |
1256 | } | ||
1255 | 1257 | ||
1256 | fd2 = sock_alloc_fd(&newfile2); | 1258 | fd2 = sock_alloc_fd(&newfile2); |
1257 | if (unlikely(fd2 < 0)) { | 1259 | if (unlikely(fd2 < 0)) { |
1260 | err = fd2; | ||
1258 | put_filp(newfile1); | 1261 | put_filp(newfile1); |
1259 | put_unused_fd(fd1); | 1262 | put_unused_fd(fd1); |
1260 | goto out_release_both; | 1263 | goto out_release_both; |