From b3281de25fd8c1d856cc45dfb814593a537bce80 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 29 Nov 2017 11:38:17 -0600 Subject: [PATCH] cygwin: add Object Size Checking to sys/poll.h Signed-off-by: Yaakov Selkowitz --- winsup/cygwin/include/ssp/poll.h | 26 ++++++++++++++++++++++++++ winsup/cygwin/include/sys/poll.h | 4 ++++ 2 files changed, 30 insertions(+) create mode 100644 winsup/cygwin/include/ssp/poll.h diff --git a/winsup/cygwin/include/ssp/poll.h b/winsup/cygwin/include/ssp/poll.h new file mode 100644 index 000000000..831e626d6 --- /dev/null +++ b/winsup/cygwin/include/ssp/poll.h @@ -0,0 +1,26 @@ +#ifndef _SSP_POLL_H_ +#define _SSP_POLL_H_ + +#include + +#if __SSP_FORTIFY_LEVEL > 0 +__BEGIN_DECLS + +__ssp_decl(int, poll, (struct pollfd *__fds, nfds_t __nfds, int __timeout)) +{ + __ssp_check (__fds, __nfds * sizeof(*__fds), __ssp_bos); + return __ssp_real_poll (__fds, __nfds, __timeout); +} + +#if __GNU_VISIBLE +__ssp_decl(int, ppoll, (struct pollfd *__fds, nfds_t __nfds, const struct timespec *__timeout_ts, const sigset_t *__sigmask)) +{ + __ssp_check (__fds, __nfds * sizeof(*__fds), __ssp_bos); + return __ssp_real_ppoll (__fds, __nfds, __timeout_ts, __sigmask); +} +#endif + +__END_DECLS + +#endif /* __SSP_FORTIFY_LEVEL > 0 */ +#endif /* _SSP_POLL_H_ */ diff --git a/winsup/cygwin/include/sys/poll.h b/winsup/cygwin/include/sys/poll.h index 0da4c3f03..65822edb3 100644 --- a/winsup/cygwin/include/sys/poll.h +++ b/winsup/cygwin/include/sys/poll.h @@ -47,4 +47,8 @@ extern int ppoll __P ((struct pollfd *fds, nfds_t nfds, __END_DECLS +#if __SSP_FORTIFY_LEVEL > 0 +#include +#endif + #endif /* _SYS_POLL_H */