From 61e2e53447af148f7ce8748a21c72a32864d234d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 9 Oct 2012 15:27:43 +0100 Subject: [PATCH] --- yaml --- r: 333694 b: refs/heads/master c: aed976475bff939672b0e21595839c445dcec0fa h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/file.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f72db4cd9453..0b16dab20023 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d1c7d97ad58836affde6e39980b96527510b572e +refs/heads/master: aed976475bff939672b0e21595839c445dcec0fa diff --git a/trunk/fs/file.c b/trunk/fs/file.c index 0f1bda4bebfa..d3b5fa80b71b 100644 --- a/trunk/fs/file.c +++ b/trunk/fs/file.c @@ -922,6 +922,9 @@ SYSCALL_DEFINE3(dup3, unsigned int, oldfd, unsigned int, newfd, int, flags) if ((flags & ~O_CLOEXEC) != 0) return -EINVAL; + if (unlikely(oldfd == newfd)) + return -EINVAL; + if (newfd >= rlimit(RLIMIT_NOFILE)) return -EMFILE;