diff options
author | Egor Duda <deo@logos-m.ru> | 2001-09-16 14:26:11 +0000 |
---|---|---|
committer | Egor Duda <deo@logos-m.ru> | 2001-09-16 14:26:11 +0000 |
commit | 0aca521ab84e3f020085891bdab652680368ce4f (patch) | |
tree | 6fc4082616a915e4b5e2620d8cb499e457204dbd /winsup/cygwin/syscalls.cc | |
parent | d59583993906b2232b995eb4ae5731f7b71384c3 (diff) | |
download | cygnal-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.cc | 6 |
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); } |