* exceptions.cc: Add stdlib.h include for alloca declaration.
* poll.cc: Ditto. * termios.cc: Ditto. * syscalls.cc (_write): Only allow zero length when fd is valid.
This commit is contained in:
parent
d590035529
commit
e2b3dc2580
@ -1,7 +1,17 @@
|
|||||||
|
2001-11-14 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* exceptions.cc: Add stdlib.h include for alloca declaration.
|
||||||
|
* poll.cc: Ditto.
|
||||||
|
* termios.cc: Ditto.
|
||||||
|
|
||||||
|
2001-11-14 Christopher Faylor <cgf@redhat.com>
|
||||||
|
|
||||||
|
* syscalls.cc (_write): Only allow zero length when fd is valid.
|
||||||
|
|
||||||
2001-11-14 Corinna Vinschen <corinna@vinschen.de>
|
2001-11-14 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* fhandler.cc (fhandler_disk_file::fstat): Add setting access time
|
* fhandler.cc (fhandler_disk_file::fstat): Add setting access time
|
||||||
and creation time to last modification time for files on filesystems
|
and creation time to last modification time for files on filesystems
|
||||||
not supporting multiple timestamps.
|
not supporting multiple timestamps.
|
||||||
(fhandler_disk_file::fstat_helper): Set access time and creation
|
(fhandler_disk_file::fstat_helper): Set access time and creation
|
||||||
time in incoming Windows structure instead of in stat buf to avoid
|
time in incoming Windows structure instead of in stat buf to avoid
|
||||||
|
@ -11,6 +11,7 @@ details. */
|
|||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <imagehlp.h>
|
#include <imagehlp.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include "exceptions.h"
|
#include "exceptions.h"
|
||||||
#include "sync.h"
|
#include "sync.h"
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <sys/poll.h>
|
#include <sys/poll.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include "security.h"
|
#include "security.h"
|
||||||
#include "fhandler.h"
|
#include "fhandler.h"
|
||||||
#include "path.h"
|
#include "path.h"
|
||||||
|
@ -355,12 +355,6 @@ _read (int fd, void *ptr, size_t len)
|
|||||||
extern "C" ssize_t
|
extern "C" ssize_t
|
||||||
_write (int fd, const void *ptr, size_t len)
|
_write (int fd, const void *ptr, size_t len)
|
||||||
{
|
{
|
||||||
if (len == 0)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (__check_invalid_read_ptr_errno (ptr, len))
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
int res = -1;
|
int res = -1;
|
||||||
|
|
||||||
sigframe thisframe (mainthread);
|
sigframe thisframe (mainthread);
|
||||||
@ -368,6 +362,16 @@ _write (int fd, const void *ptr, size_t len)
|
|||||||
if (cfd < 0)
|
if (cfd < 0)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
|
/* No further action required for len == 0 */
|
||||||
|
if (len == 0)
|
||||||
|
{
|
||||||
|
res = 0;
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (len && __check_invalid_read_ptr_errno (ptr, len))
|
||||||
|
goto done;
|
||||||
|
|
||||||
/* Could block, so let user know we at least got here. */
|
/* Could block, so let user know we at least got here. */
|
||||||
if (fd == 1 || fd == 2)
|
if (fd == 1 || fd == 2)
|
||||||
paranoid_printf ("write (%d, %p, %d)", fd, ptr, len);
|
paranoid_printf ("write (%d, %p, %d)", fd, ptr, len);
|
||||||
|
@ -14,6 +14,7 @@ details. */
|
|||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include "cygerrno.h"
|
#include "cygerrno.h"
|
||||||
#include "security.h"
|
#include "security.h"
|
||||||
#include "fhandler.h"
|
#include "fhandler.h"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user