summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/syscalls.cc
diff options
context:
space:
mode:
authorEgor Duda <deo@logos-m.ru>2001-09-16 14:26:11 +0000
committerEgor Duda <deo@logos-m.ru>2001-09-16 14:26:11 +0000
commit0aca521ab84e3f020085891bdab652680368ce4f (patch)
tree6fc4082616a915e4b5e2620d8cb499e457204dbd /winsup/cygwin/syscalls.cc
parentd59583993906b2232b995eb4ae5731f7b71384c3 (diff)
downloadcygnal-0aca521ab84e3f020085891bdab652680368ce4f.tar.gz
cygnal-0aca521ab84e3f020085891bdab652680368ce4f.tar.bz2
cygnal-0aca521ab84e3f020085891bdab652680368ce4f.zip
* path.cc (symlink): Check arguments for validity.
(getcwd): Ditto. * syscalls.cc (ftruncate): Ditto. * times.cc (times): Ditto. * uname.cc (uname): Ditto.
Diffstat (limited to 'winsup/cygwin/syscalls.cc')
-rw-r--r--winsup/cygwin/syscalls.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index d6ef25c58..1453f4fed 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1768,7 +1768,11 @@ ftruncate (int fd, off_t length)
sigframe thisframe (mainthread);
int res = -1;
- if (cygheap->fdtab.not_open (fd))
+ if (length < 0)
+ {
+ set_errno (EINVAL);
+ }
+ else if (cygheap->fdtab.not_open (fd))
{
set_errno (EBADF);
}