diff --git a/kernel/dtable.cpp b/kernel/dtable.cpp index 7dc56da2..836f9966 100644 --- a/kernel/dtable.cpp +++ b/kernel/dtable.cpp @@ -231,9 +231,7 @@ int DescriptorTable::Copy(int from, int to, int flags) if ( flags & ~__FD_ALLOWED_FLAGS ) return errno = EINVAL, -1; ScopedLock lock(&dtablelock); - if ( from < 0 || to < 0 ) - return errno = EINVAL, -1; - if ( !IsGoodEntry(from) ) + if ( !IsGoodEntry(from) || to < 0 ) return errno = EBADF, -1; if ( from == to ) return errno = EINVAL, -1; diff --git a/kernel/io.cpp b/kernel/io.cpp index bf05903d..61b537ba 100644 --- a/kernel/io.cpp +++ b/kernel/io.cpp @@ -154,8 +154,6 @@ int sys_dup3(int oldfd, int newfd, int flags) int sys_dup2(int oldfd, int newfd) { - if ( oldfd < 0 || newfd < 0 ) - return errno = EINVAL, -1; int ret = sys_dup3(oldfd, newfd, 0); if ( ret < 0 && errno == EINVAL ) return errno = 0, newfd;