diff --git a/libc/include/sys/select.h b/libc/include/sys/select.h
index 8d77957..c8cd8e1 100644
--- a/libc/include/sys/select.h
+++ b/libc/include/sys/select.h
@@ -46,14 +46,23 @@
 #define __FDELT(fd) ((fd) / __NFDBITS)
 #define __FDMASK(fd) (1UL << ((fd) % __NFDBITS))
 #define __FDS_BITS(set) (((fd_set*)(set))->fds_bits)
-
 #define __FD_CLR(fd, set) (__FDS_BITS(set)[__FDELT(fd)] &= ~__FDMASK(fd))
 #define __FD_SET(fd, set) (__FDS_BITS(set)[__FDELT(fd)] |= __FDMASK(fd))
-
 #define __FD_ISSET(fd, set) ((__FDS_BITS(set)[__FDELT(fd)] & __FDMASK(fd)) != 0)
-
 #define __FD_ZERO(set) (__builtin_memset(set, 0, sizeof(*(fd_set*)(set))))
 
+#if defined(__BIONIC_FORTIFY)
+extern void __FD_CLR_chk(int, fd_set*);
+extern void __FD_SET_chk(int, fd_set*);
+extern int  __FD_ISSET_chk(int, fd_set*);
+#undef __FD_CLR
+#undef __FD_SET
+#undef __FD_ISSET
+#define __FD_CLR(fd, set) __FD_CLR_chk(fd, set)
+#define __FD_SET(fd, set) __FD_SET_chk(fd, set)
+#define __FD_ISSET(fd, set) __FD_ISSET_chk(fd, set)
+#endif /* defined(__BIONIC_FORTIFY) */
+
 extern int select(int, fd_set*, fd_set*, fd_set*, struct timeval*);
 extern int pselect(int n, fd_set* read_fds, fd_set* write_fds, fd_set* err_fds,
                    const struct timespec * timeout, const sigset_t* sigmask);
