From 2b50d1586c5da1c19d81f7786ced715482198336 Mon Sep 17 00:00:00 2001 From: Olaf Barthel Date: Sun, 6 Nov 2005 14:37:49 +0000 Subject: [PATCH] - Added more boundary checks to the FD_#?() macros which now also catch the case of negative socket IDs. git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@15061 87f5fb63-7c3d-0410-a384-fd976d0f7a62 --- library/include/sys/select.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/library/include/sys/select.h b/library/include/sys/select.h index d38266e..2abcec5 100644 --- a/library/include/sys/select.h +++ b/library/include/sys/select.h @@ -1,5 +1,5 @@ /* - * $Id: select.h,v 1.1 2005-10-09 12:32:18 obarthel Exp $ + * $Id: select.h,v 1.2 2005-11-06 14:37:49 obarthel Exp $ * * :ts=4 * @@ -72,9 +72,9 @@ typedef struct fd_set unsigned long bits[(FD_SETSIZE + 31) / 32]; } fd_set; -#define FD_SET(n,p) ((void)((n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] |= (1UL << (((unsigned long)n) & 31)) : 0)) -#define FD_CLR(n,p) ((void)((n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] &= ~(1UL << (((unsigned long)n) & 31)) : 0)) -#define FD_ISSET(n,p) ((n) < FD_SETSIZE && ((p)->bits[((unsigned long)n) >> 5] & (1UL << (((unsigned long)n) & 31))) != 0) +#define FD_SET(n,p) ((void)(((unsigned long)n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] |= (1UL << (((unsigned long)n) & 31)) : 0)) +#define FD_CLR(n,p) ((void)(((unsigned long)n) < FD_SETSIZE ? (p)->bits[((unsigned long)n) >> 5] &= ~(1UL << (((unsigned long)n) & 31)) : 0)) +#define FD_ISSET(n,p) (((unsigned long)n) < FD_SETSIZE && ((p)->bits[((unsigned long)n) >> 5] & (1UL << (((unsigned long)n) & 31))) != 0) #define FD_COPY(f,t) ((void)memmove(t,f,sizeof(*(f)))) #define FD_ZERO(p) ((void)memset(p,0,sizeof(*(p))))